在javascript中循环子节点

时间:2015-07-05 12:17:11

标签: 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;
    }
}

这似乎不起作用。我做得对吗?

2 个答案:

答案 0 :(得分:2)

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的子代,我们可能会陷入无限循环)。

答案 1 :(得分:0)

对于希望使用forEach

的人
input[type=text] {
   @extend .form-control;
}

.question input[type=button] {
   @extend .btn;
   @extend .btn-primary;
}