创建这段 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(使用前将#替换为@)