DOM2节点的遍历
2015-01-18 21:33
357 查看
1.NodeIterator的使用
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> window.onload = function() { function aFuntion() { var isSupportTraversals = document.implementation.hasFeature( "Traversal", "2.0"); alert(isSupportTraversals); //每个节点过滤器只有一个方法acceptNode //或者一个类似于acceptNode()的函数 var filter = { acceptNode : function(node) { //alert(node.tagName); return node.tagName.toLowerCase() == "p" ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }; var nodeIterator = document.createNodeIterator(document.getElementsByTagName("div").item(0),NodeFilter.SHOW_ELEMENT, filter, false); //NodeIterator的两个主要方法 //nextNode()和previousNext(),在刚刚创建的NodeIterator对象中,有一个内部指针指向根节点,因此第一次调用nextNode()返回根节点 var alertMessage = ""; var node=""; while (node=nodeIterator.nextNode()) { alertMessage += node.tagName; alertMessage += "\n"; }; alert(alertMessage); }; document.getElementsByTagName("input").item(0).addEventListener("click",aFuntion,false); }; </script> </head> <body> DOM2级遍历与范围:IteratorNode和TreeWalker这两个类型能够基于给定的起点DOM结构执行深度优先(depth-first)的遍历。<br><br> <input type="button" value="点击触发遍历"> <div id="div1"> <p><b>Hello</b>World</p> <ul> <li>List item1</li> <li>List item2</li> <li>List item3</li> </ul> </div> </body> </html>
相关文章推荐
- javascript遍历DOM节点方法详解
- Dom解析文件,遍历节点,不是所有节点,方法
- jQuery遍历DOM元素与节点方法详解
- xml-使用dom去遍历xml文件和获取指定节点信息
- jQuery遍历DOM节点操作之filter()方法详解
- Jquery中的DOM操作 (八.遍历节点)
- 遍历Dom节点,新增对应行
- jQuery基础教程之DOM操作-遍历节点-children()方法
- jQuery遍历DOM节点操作之filter()方法详解
- jQuery之dom操作(遍历节点)
- jQuery基础教程之DOM操作-遍历节点-parent()方法
- JavaScript之DOM-4 文档结构和遍历(节点树、元素树、文档的遍历)
- JavaScript之jQuery-3 jQuery操作DOM(查询、样式操作、遍历节点、创建插入删除、替换、复制)
- jQuery基础教程之DOM操作-遍历节点-parents()方法
- jQuery的DOM操作之遍历节点
- jQuery基础教程之DOM操作-遍历节点-prev()方法
- jquery(遍历-dom节点)
- JQuery遍历DOM节点的方法
- jQuery遍历DOM元素与节点方法详解