javascript - javascript中循环子节点

标签 javascript

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/

相关文章:

javascript - 在字符串javascript中按类搜索

javascript - 如何在 :visited? 的父容器上应用样式

javascript - 在node-red中创建二进制有效负载

javascript - Angular 表达式的安全性

javascript - 这两个陈述有什么区别?

javascript - node.js 克隆 eventemitter 对象

javascript - 原型(prototype): Why does modifying "child" object instance also modifies "parent" object instance?

javascript 删除 json 包含字符串而不是 equals 的地方

javascript - jQuery 验证插件 - 单选按钮问题

javascript svg 动画