while循环没有正确迭代以删除表行

时间:2011-09-28 07:04:52

标签: javascript

只是尝试删除一个表但循环不会删除所有行。 我已经使用警报确保它是id的正确元素。 它确实删除了一些行,但不是全部,只是块。 控制台报告:DOM异常1,DOM异常8

function removeThis(unsetElement)
{ unsetElement.parentNode.removeChild(unsetElement); }

2 个答案:

答案 0 :(得分:1)

删除行时,它们的索引会发生变化;你需要从顶部开始循环,即

i=rowCounter-1;
while(i>=0){unsetTable.deleteRow(i);i--;}

然而,更好的想法就是清除整个桌子;行将被垃圾收集。

答案 1 :(得分:1)

另一种解决方案可能是使用特殊的-1索引,它会删除最后一行。

var i = thisTrAry.length;

while(i--) {
    unsetTable.deleteRow(-1);
}

但是如果你无论如何都删除整个表(在你的最后一行),那么就不需要先删除行了。