Javascript 不会删除 div 中的所有元素

2024-05-05

创建这段 JavaScript 代码是为了删除 div 内的所有输入

function remove_inputs(){
   var elements=document.getElementById('thediv').getElementsByTagName('input');
   for(var i=0;i<elements.length;i++){
       elements[i].parentNode.removeChild(elements[i]);
   }
}

我确实只删除了一次调用的一半元素,并且必须多次调用它才能删除所有输入。

请检查这个Jsfiddle http://jsfiddle.net/9wNkf/看看它的实际效果。


那是因为您在从列表中删除时跳过了项目实时节点列表 https://developer.mozilla.org/en-US/docs/Web/API/NodeList.

当您删除索引 0 处的项目时,索引 1 处的项目将采用索引 0,因此您不会删除它,因为您的迭代已经位于索引 1 上。

像这样做 :

function remove_inputs(){
   var elements=document.getElementById('thediv').getElementsByTagName('input');
   while(elements.length){
       elements[0].parentNode.removeChild(elements[0]);
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 不会删除 div 中的所有元素 的相关文章

随机推荐