可以使用 createNodeIterator 方法来遍历页面中的所有元素。该方法返回一个 NodeIterator 对象,可以使用它的 nextNode() 方法迭代出每个元素。以下是一个示例函数,该函数可以将页面中所有元素的 tag 名称输出到控制台:
function traverseAllElements() {
const rootNode = document.documentElement;
const iterator = document.createNodeIterator(rootNode, NodeFilter.SHOW_ELEMENT);
let node;
while ((node = iterator.nextNode())) {
console.log(node.tagName);
}
}
在上面的代码中,createNodeIterator 方法会返回一个迭代器对象 iterator,该迭代器以 document.documentElement 作为根节点,以 NodeFilter.SHOW_ELEMENT 过滤器过滤掉文本节点等非元素节点,迭代出每个元素节点,并将其 tag 名称输出到控制台。