DOM中的遍历

1. NodeIterator和 TreeWalker。这两个类型能够基于给定的起点对 DOM 结构执行深度优先遍历

    ① NodeIterator类型,有两个方法,nextNode()--在遍历中向前前进一步,previousNode()--在遍历中向后后退一步

          使用document.createNodeIterator(root,whatToShow,filter,entityReferenceExpansion)函数来创建NodeIterator实例。

          参数的意义:

                    root:作为便利起点的根节点。

                    whatToShow:要显示的节点类型(值以常量的形式在NodeFilter类型中定义)。

                    filter:过滤器。可以是① NodeFilter对象或者② 接受或者拒绝某种特定节点的函数

                    entityReferenceExpansion:是一个布尔值,表示是否要扩展实体引用(HTML页面中,实体引用不可以扩展)

                    如:打印下述文档中所有的元素节点。

        若要指定filter,则如下:

              ① NodeFilter对象

            ② 接受或者拒绝某个特定节点的函数

 ② TreeWalker类型:有七个方法,一个属性

          nextNode()、previousNode()、parentNode()--转到当前节点的父节点、firstChild()--转到当前节点的第一个子节点、lastChild()--转到当前节点的最后一个子节点、nextSibling()--转到当前节点的下一个同辈节点、previousSibling()--转到当前节点的上一个同辈节点。

          currentNode属性:表示任何遍历方法在上一次遍历中返回的节点(可以修改遍历继续进行的起点)。

          使用document.createTreeWalker(root,whatToShow,filter,entityReferenceExpansion)创建TreeWalker对象

          注意NodeFilter.FILTER_SKIP和NodeFilter.FILTER_REJECT的区别

 可以不使用过滤器遍历li节点

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值