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> |