1. Node.prototype.hasChildNodes();

2. Node.prototype.firstChilds();

3. Node.prototype.nextSibling();

function DOMComb(parent, callback) {
  if (parent.hasChildNodes()) {
    for (var node = parent.firstChild; node; node = node.nextSibling) {
      DOMComb(node, callback);
    }
  }
  callback(parent);
}

// 用法
DOMComb(document.body, console.log)

 

这里需要注意for循环的写法, 它的作用是循环所有子节点, 对每个字节点都使用DOMComb()函数. 第一个参数表示从第一个子节点开始遍历, 第二个参数表示这个节点不能为空(null / undefined等) , 第三个参数表示将下一个子节点赋值个node. 这种写法不常见, 但挺巧妙的.

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-19
  • 2022-12-23
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
相关资源
相似解决方案