怎样遍历当前节点的所有后代节点

Posted aisowe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样遍历当前节点的所有后代节点相关的知识,希望对你有一定的参考价值。

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. 这种写法不常见, 但挺巧妙的.

以上是关于怎样遍历当前节点的所有后代节点的主要内容,如果未能解决你的问题,请参考以下文章

怎样移除当前节点

怎样判断当前节点是否有子节点

怎样获取xml中当前节点的直接孩子节点个数

关于二叉树怎样建立和四种遍历方法你知道吗?

XPATH节点获取

xpath获取同级节点