DOM深度优先遍历算法

妖精的绣舞 提交于 2019-12-05 07:02:38

通过深度优先遍历算法,可以依次获取每个后代节点的对象。

顺序:有子元素先获取子元素,再获取兄弟元素

主要有2步骤:

//1.创建节点迭代器对象(parent是要遍历的节点)

var iterator = document.createNodeIterator(parent, NodeFilter.SHOW_ELEMENT, null, false);

//2.反复调用iterator的nextNode方法跳到下一个

do{

  var node = iterator.nextNode();

  if(node !=  null) console.log(node.nodeName);

  else break;

}while(true);

以上也可以使用递归实现,但递归效率较低,不建议使用。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!