我尝试按类名删除表中的行:
var tr = document.getElementsByClassName('edited');
var table = document.getElementById('messagebox');
for(var i = 0; i < tr.length ; i++){
table.deleteRow(tr[i].rowIndex);
}
但并非全部删除
答案 0 :(得分:2)
如果没有更多信息(html示例等),我说问题可能是您要从列表前面删除行。
假设您已编辑第2,4和6行。删除第2行时,第4行变为第3行,第6行变为第5行,因此删除的下一行(最初为4)实际上是5)等。
使用for(var i = tr.length - 1; i >= 0; i--){
答案 1 :(得分:0)
var tr = document.getElementsByClassName('edited');
var table = document.getElementById('messagebox');
您使用了实时收藏,当您对元素执行某些操作时会自动更新,但您需要使用其他内容。
elem.querySelectorAll(css)
它将返回查找元素。
elem.querySelector(css)
它只会返回第一个查找元素。