【问题标题】:Delete rows in table built dynamically删除动态构建的表中的行
【发布时间】:2016-11-02 07:28:59
【问题描述】:

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

事情是这样的:我从 html 页面中的一个空表开始。只有列名的标题。然后,我通过 php 获得 JSON 数据,并通过创建一个新行和新单元格来填充我的表格,如下所示:

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:抱歉这么长的解释。

【问题讨论】:

    标签: javascript ajax html-table


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      • 2017-04-05
      • 1970-01-01
      相关资源
      最近更新 更多