[JavaScript] 第1428天 请使用createNodeIterator写一个方法遍历页面中的所有元素

63 阅读1分钟

可以使用 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 名称输出到控制台。

更多题目

github.com/haizlin/fe-…