DOM 树木漫步

示例

TreeWalker 是一个类似于生成器的接口,可以轻松高效地递归过滤DOM树中的节点。

以下代码Text将页面中所有节点的值连接起来,并打印结果。

let parentNode = document.body;
let treeWalker = document.createTreeWalker(parentNode, NodeFilter.SHOW_TEXT);

let text = "";
while (treeWalker.nextNode())
    text += treeWalker.currentNode.nodeValue;

console.log(text); // 页面中所有文本,串联

该.createTreeWalker函数具有以下特征

createTreeWalker(root, whatToShow, filter, entityReferenceExpansion)

参数细节
将遍历子树的“根”节点
显示什么可选的无符号长整数,指定要显示的节点类型。有关更多信息,请参见NodeFilter。
过滤可选,具有acceptNode方法的对象,该对象用于确定在通过whatToShow检查之后是否应考虑节点
实体参考扩展是一个布尔型标记,它已作废且是可选的,指示当丢弃EntityReference时是否必须同时丢弃其整个子树。