点评无刷新评论(tBodies[0])

本文介绍了一种使用JavaScript实现在网页上无刷新添加评论的方法。通过创建新的表格行和单元格,动态插入用户输入的昵称和评论内容,使得评论能够即时显示而无需重新加载页面。

点评无刷新评论

<script type="text/javascript">

     function addComment(){

  var name = document.getElementById("name").value;

  var comment = document.getElementById("comment").value;

  var tableComment = document.getElementById("tableComment");

  var tr = document.createElement("tr");

  var td1 = document.createElement("td");

  td1.innerText = name;

  tr.appendChild(td1);

  

  var td2 = document.createElement("td");

  td2.innerText =comment ;

  tr.appendChild(td2);

  tableComment.tBodies[0].appendChild(tr);//tBodies[0]表示第一个表单。

  }

</script>

<table id="tableComment">

     <tbody>

      <tr><td>猫猫</td> <td>沙发耶 </td> </tr>

     </tbody>

 </table>

    昵称:<input id="name" type="text"><br>

    <textarea  id="comment" rows="2" cols="6"></textarea><br>

         <input type="button" value="评论" onclick="addComment()">  

<!--EndFragment-->

对于这个方法,我现在有了新的需求,当一行中的一个项目的值是0的话,背景色设成蓝色,请帮我修改这个方法 function enableRowHighlight(tableId, highlightColor = '#EED4D7') { const table = document.getElementById(tableId); if (!table || !table.tBodies.length) return; const tbody = table.tBodies[0]; const rows = tbody.getElementsByTagName('tr'); let selectedRow = null; if (rows.length === 0) return; for (let i = 0; i < rows.length; i++) { rows[i].style.backgroundColor = 'white'; rows[i].dataset.originalBg = 'white'; } // 重複初期化を防止 if (tbody.__rowHighlightInitialized) return; tbody.__rowHighlightInitialized = true; // 初期状態で1行目を選択 const firstRow = rows[0]; if (firstRow) { // 元の背景色を保存 firstRow.dataset.originalBg = firstRow.style.backgroundColor || ''; // ハイライト色を設定 firstRow.style.backgroundColor = highlightColor; selectedRow = firstRow; } // クリックイベントをテーブル全体に委譲 tbody.addEventListener('click', (e) => { const row = e.target.closest('tr'); if (!row || !tbody.contains(row)) return; // 現在選択されている行を再クリックしても何もしない if (selectedRow === row) return; // 以前の行の背景色を元に戻す if (selectedRow) { selectedRow.style.backgroundColor = selectedRow.dataset.originalBg || ''; } // 初回クリック時のみ元の背景色を保存 if (typeof row.dataset.originalBg === 'undefined') { row.dataset.originalBg = row.style.backgroundColor || ''; } // 新しい行をハイライト row.style.backgroundColor = highlightColor; selectedRow = row; }); }
最新发布
11-20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值