2016-11-01 77 views
0

我一直困在这个愚蠢的问题几天了。我想这不是复杂的,但我可能需要别人的帮助...删除表中动态生成的行

这是事情:我从我的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: Index or size is negative or greater than the allowed amount

是正确的方式做到这一点? PS:抱歉这么长时间的解释。

回答

0

我不好,我只需要改变我对1在我的for循环如下:

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