JS调用table.insertRow()向空<tbody>插入行失效,行被错误插入非空<thead>
问题原因解释
你遇到的问题根源于 HTMLTableElement.insertRow() 方法的默认行为规则:
- 你直接在元素上调用
insertRow() - 当
- 你预先给
table.insertRow()最优解决方案
最稳妥的方案是显式选中
元素调用插入行方法function myFunction() { var table = document.getElementById("myTable"); // 先获取目标tbody元素 var targetTbody = table.querySelector('tbody'); // 直接在tbody上调用insertRow,默认插入到tbody末尾 var row = targetTbody.insertRow(); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); cell1.innerHTML = "NEW CELL1"; cell2.innerHTML = "NEW CELL2"; }
如果不想修改DOM选中逻辑,也可以给table.insertRow()传入明确的插入位置索引:如果你的
内容的提问来源于stack exchange,提问作者Martin Kubovčík
相关产品推荐
相关产品推荐

