按类名从表中删除行

时间:2016-04-18 19:59:35

标签: javascript html css

我尝试按类名删除表中的行:

var tr = document.getElementsByClassName('edited');
var table = document.getElementById('messagebox');

for(var i = 0; i < tr.length ; i++){
    table.deleteRow(tr[i].rowIndex);
}

但并非全部删除

2 个答案:

答案 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)

它只会返回第一个查找元素。