js的array在删除了某个元素的时候长度是不会改变的, 但是dom的元素删除了之后,childNodes这样的数组的长度是会变化的
比如
<button>使用js修改DOM</button><button>删除新添节点</button>
<div id="demo_add"></div>
<script type="text/javascript">function demoAdd(){
var new_text_node = document.createTextNode("我是新添加进来的文本节点");
var node_add_to = document.getElementById("demo_add");
node_add_to.appendChild(new_text_node);
}function removeAll(){
var text_node_parent = document.getElementById("demo_add");
var text_nodes_length = text_node_parent.childNodes.length // 这里一定要缓存length
for (var step = 0; step < text_nodes_length; ++step)
{text_node_parent.removeChild(text_node_parent.childNodes[0]);}
}
</script> |