gpt4 book ai didi

javascript - 树行者迭代

转载 作者:数据小太阳 更新时间:2023-10-29 06:11:06 25 4
gpt4 key购买 nike

是否可以使用 treewalker 跳过当前子树中的迭代并跳转到下一个节点?例子

<nav>
<p>paragraph</p>
<ul>
<li>one</li>
<li>two</li>
</ul>
<p>paragraph</p>
</nav>

和js

var nav=document.getElementsByTagName("nav")[0];
var tree=document.createTreeWalker(nav,NodeFilter.SHOW_ELEMENT,null,false);
tree.firstChild(); // first paragraph
tree.nextSibling(); // ul
tree.firstChild(); // first li chid of ul
tree.nextNode()||tree.nextSibling() // both return next li

有什么方法可以在树行者命中第一个 LI 元素后停止子树的迭代并直接跳转到另一段?

最佳答案

您可以创建自定义 filter :

var filter = {
acceptNode: function(n) {
return n && n.parentNode && n.parentNode.tagName != "UL"
? NodeFilter.FILTER_ACCEPT
: NodeFilter.FILTER_REJECT;
}
};
var tree=document.createTreeWalker(nav, NodeFilter.SHOW_ELEMENT, filter, false);

关于javascript - 树行者迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696232/

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