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时是否必须同时丢弃其整个子树。 |