if(event.target.parentNode.className.indexOf('feat_img')!==1){
var innodes=event.target.parentNode.firstChild;
while(event.target.parentNode.childNodes){
console.log(innodes);
if(innodes.className=='img_preview'){
event.target.parentNode.removeChild(innodes);
}
innodes=event.target.parentNode.nextSibling;
}
}
这似乎不起作用。我这样做对吗?
最佳答案
Is this what you are looking for?我循环遍历子级并删除所有 img_preview。
var outer = document.getElementById('outer');
for (var i = 0; i < outer.childNodes.length; i++) {
var inner = outer.childNodes[i];
if (inner.className === 'img_preview') {
outer.removeChild(inner);
}
}
注意:我更改了循环结束条件,因此我们可以相当确定它会终止(在原始代码中,如果有一个子级不是 img_preview
,我们可能会陷入无限循环循环)。
关于javascript - javascript中循环子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31230244/