我在页面上有100个跨度,并且要用javascript删除所有的跨度:
function removeElements(){
var elementss = document.getElementsByTagName('span');
for(var i=0; i<elementss.length; i++){
elementss[i].remove();
}
}
可以说我有10个跨度
1,2,3,4,5,6,7,8,9,10
当我单击“删除”按钮时,我得到以下信息:
2,4,6,8,10
如果我想更改innetHTML或值或其他内容,它可以工作,但是对于remove()则不起作用...。
由于getElementsByTagName
返回了一个实时元素collection(HTMLCollection
),它将在您删除元素时自动更新,因此由于元素位置正在更新,它将跳过一些元素。
因此,以相反的顺序删除元素,以避免以最简单的方式跳过该元素。
var i = elementss.length;
while(i--){
elementss[i].remove();
}
对于IE支持使用removeChild()
方法。
var i = elementss.length;
while(i--){
elementss[i].parentNode.removeChild(elementss[i]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句