删除动态构建的表中的行

时间:2016-11-01 16:53:15

标签: javascript ajax html-table

我已经被困在这个愚蠢的问题上了好几天了。我想这并不复杂,但我可能需要别人的帮助...

这是事情:我从我的html页面中的空表开始。只有带有列名称的头部。然后,我得到了JSON数据,感谢php,我通过创建一个新行和新单元填充我的表,如下所示:

for (var j = 0; j < jsonVal.length; j++){
            var tr = table.insertRow(-1);
            tr.insertCell(-1).innerHTML = "<img src=\"" + jsonVal[j].image + "\">";
            tr.insertCell(-1).innerHTML = jsonVal[j].name;
            tr.insertCell(-1).innerHTML = jsonVal[j].rating;
        };

现在,我想要做的就是根据一些参数更新这个表(按名称或等级排序,只有5行等...) 为此,我想删除当前必须添加新数据的所有行。但是我无法找到删除它们的方法。这是我的删除代码:

var currentTable = document.getElementsByTagName("table")[0];
var rowCount = currentTable.rows.length;
for(var i = 1; i < rowCount; i++){
    currentTable.deleteRow(i);
}

我收到以下错误:

  

IndexSizeError:索引或大小为负数或大于允许的数量

这是正确的方法吗?

PS:抱歉这么长的解释。

1 个答案:

答案 0 :(得分:0)

我的不好,我只需要在我的for循环中将i更改为1,如下所示:

var currentTable = document.getElementsByTagName("table")[0];
var rowCount = currentTable.rows.length;
for(var i = 1; i < rowCount; i++){
    currentTable.deleteRow(1);
}