我已经被困在这个愚蠢的问题上了好几天了。我想这并不复杂,但我可能需要别人的帮助...
这是事情:我从我的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:抱歉这么长的解释。答案 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);
}