-3
我正在使用下面的代码来交换两个元素数组。在最后一次迭代中,它抛出了NodeNotFound错误。Javascript错误:replaceChild - 找不到节点
for (x=0; x<resultArr.length; x++) {
//allTR[x].swapNode(colArr[resultArr[x]])
swapNodes(allTR[x],colArr[resultArr[x]]);
}
function swapNodes(item1,item2)
{
var itemtmp = item1.cloneNode(1);
var parent = item1.parentNode;
item2 = parent.replaceChild(itemtmp,item2);
parent.replaceChild(item2,item1);
parent.replaceChild(item1,itemtmp);
itemtmp = null;
}
当我在调试投萤火虫,最后一次迭代过程中,当我悬停在swapNodes的第二线的功能item1.parentNode被显示为空。然后item2 = parent.replaceChild(itemtmp,item2)执行得很好。 下一行将引发控制台中的异常,但预期的功能运行良好。
我必须使工作的功能没有此脚本错误。请帮我解决这个问题。
根据错误和debuggin产生的父(或者项目本身)为null或undefined ...提供更多的代码,otherweise它不可能帮助你...... – 2015-02-24 09:00:21
@MarvinEmilBrach在最后一次迭代,item1有价值。但是当我悬停item1.parentNode时,单独的parentNode显示为空。我如何处理这种情况 – 2015-02-24 09:18:57