首页 > 代码库 > js遍历
js遍历
NodeIterator
比较简单的迭代器
创建 document.createNodeIterator(root, whatToShow, filter , false )
root根节点 whatToShow表示要访问哪些结点代码,通常是NodeFilter.SHOW_ELEMENT
filter过滤器,有两种表示方法,一个对象或者一个函数,后面的false不用理
var filter={ acceptNode:function (node) {//只能有这个函数 return node.tagName.tolowerCase()=="p"? NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP; } }
var filter=function (node) {//只能有这个函数 return node.tagName.toLowerCase()=="p"? NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP; }
一开始不是第一个结点 用 a.nextNode(),相应的有a.previousNode()
迭代的代码
var a=document.createNodeIterator(c,NodeFilter.SHOW_ELEMENT,filter,false); var node=a.nextNode(); for(;node!==null;node=a.nextNode()){ console.log(node.tagName); }
TreeWalker
在filter的点上,多了个NodeFilter.FILTER_REJECT,这个表示在条结点的时候,会整个跳过
在到迭代器是,firstChild就是可以用了
然而,他的强大才开始
他可以用nextSibling()和previousSibling()
js遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。