请问为何删除所有节点不能完全删除.会留下一项呢?
关键是这句: for(var i=0; i<obj.length;i++)obj[i].removeNode(true); 比如i=0的时候,你remove了,那么本来obj[1]就向前移动了一格变成了obj[0],但此时已经执行了i++,也就是说i=1了,所以就留下了一项 这样,i=1/3/5/7...就都留下了,
正确的方法为:
function clearAllNode(parentNode){while (parentNode.firstChild) {
var oldNode = parentNode.removeChild(parentNode.firstChild);
oldNode = null;
}
}