首页 > 代码库 > DOM遍历

DOM遍历

DOM中的遍历为深度优先遍历(上左右),

DOM中提供遍历的方法有两种

NodeIterator

TreeWalker

这两种方法都是对元素进行遍历

NodeIterator

创建一个NodeIterator的方法为

document.createNodeIterator(node,whattowalk,filter,null)

第一个参数为开始遍历的根节点

第二个参数为对什么节点进行遍历,主要的值有三个

NodeFilter.SHOW_ALL  遍历所有节点

NodeFilter.SHOW_ELEMENT  只遍历元素

NodeFilter.SHOW_TEXT     只遍历文本节点

第三个参数为跳过或者接收某些节点,filter可以有两种方式,一个包括acceptNode方法的对象,或者是一个类似于acceptNode方法的函数

无论是对象中的方法还是函数,都会返回NodeFilter.FILTER_ACCEPT (接收这个节点)或者NodeFilter.FILTER_SKIP(拒绝这个节点)

第一种方式:

var filter={

acceptNode:function(node)

 {

   if(node.nodeValue.toLowerCase=="p")

    {

        return NodeFilter.FILTER_ACCEPT;

     {

    else

  {

NodeFilter.FILTER_SKIP

  }

}

 

DOM遍历