Javascript 而循环未正确迭代以删除表行

Javascript 而循环未正确迭代以删除表行,javascript,Javascript,只是尝试删除一个表,但循环并没有删除所有行。 我使用了alert来确保它是id正确的元素。 它确实删除了一些行,但不是全部,只是块。 控制台报告:DOM异常1、DOM异常8 function removeThis(unsetElement) { unsetElement.parentNode.removeChild(unsetElement); } 删除行时,它们的索引会更改;你需要从顶部开始循环,即 i=rowCounter-1; while(i>=0){unsetTable.dele

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

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

删除行时,它们的索引会更改;你需要从顶部开始循环,即

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

但更好的办法是把整张桌子清理干净;行将被垃圾收集。

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

var i = thisTrAry.length;

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

但是,如果仍要删除整个表(在最后一行中),则无需先删除行。

ok。我已经用您的建议更新了脚本,没有删除任何行,并且控制台中报告了DOM异常1。如果我可以删除该表,我会这样做,但这也不起作用,我认为我必须删除子节点或其他内容。我真的希望他们能做一个前端php。@Richard抱歉,现在应该可以了。删除整个表有什么问题?没有问题,但是尝试使用removeTable()函数{document.getElementById('article')。removeChild('editing');}返回相同的异常8错误。我有大约3周的javascript。我已经编辑了原始代码,只是按照建议删除了表。哎呀!谢谢所有的帮助。你至少不应该删除问题中的原始代码,否则对其他读者来说答案就没有意义了。