gpt4 book ai didi

javascript - 如何使所有子项递归循环?

转载 作者:行者123 更新时间:2023-12-02 22:31:11 28 4
gpt4 key购买 nike

我有以下内容:

for (var i = 0; i < children.length; i++){
if(hasClass(children[i], "lbExclude")){
children[i].parentNode.removeChild(children[i]);
}
};

我希望它能够遍历所有 child 的 child 等(不仅仅是顶层)。我找到了这一行,它似乎可以做到这一点:

for(var m = n.firstChild; m != null; m = m.nextSibling) {

但是我不清楚如果我进行这种切换,我如何指代当前的 child ?我不再需要我来澄清 child 的索引位置。有什么建议吗?

谢谢!

更新:

根据答案建议,我现在正在使用以下内容。这是正确/最有效的方法吗?

function removeTest(child) {
if (hasClass(child, "lbExclude")) {
child.parentNode.removeChild(child);
}
}

function allDescendants(node) {
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
allDescendants(child);
removeTest(child);
}
}

var children = temp.childNodes;
for (var i = 0; i < children.length; i++) {
allDescendants(children[i]);
};

最佳答案

function allDescendants (node) {
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
allDescendants(child);
doSomethingToNode(child);
}
}

您循环遍历所有子元素,对于每个元素,您调用相同的函数并让它循环遍历该元素的子元素。

关于javascript - 如何使所有子项递归循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2712136/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com