我正在使用这样的TreeWalker来遍历HTML DOM:
var walker = document.createTreeWalker(root);
var node;
while (node = walker.nextNode()) { ... }
我能以某种方式避免使用某些子树吗?我想可以使用walker.parentNode()
完成,但MDN上的文档对此并不清楚。
答案 0 :(得分:1)
使用NodeFilter.FILTER_REJECT作为过滤器的返回值,以绕过子树的处理。有关示例,请参阅https://developer.mozilla.org/en-US/docs/Web/API/NodeFilter。
答案 1 :(得分:0)
getelementbyclass=function(node){
if (node.className=="blue") //filter out elements with this class attribute
return NodeFilter.FILTER_ACCEPT
else
return NodeFilter.FILTER_SKIP
}