DOM遍历
2018-02-25 23:42
232 查看
元素的遍历。
DOM2级遍历和范围 定义了俩个用于辅助完成顺序遍历DOM结构的类型NodeIterator和TreeWalker.这俩个类型能够基于给定的起点节点对DOM结构执行深度优先遍历操作。
TreeWalker实例 同样具有NextNode()previousNode()方法,还有nextSilbling()previousSilbling firstChild()lastChild()
DOM中的范围:
方便控制页面,DOM2级在Document类型中定义了createRange()方法。在兼容Dom浏览器中这个方法属于Document对象。
利用DOM范围实现简单的选择
在使用selectNode 时候startContainer endContainer commonAncestorContainer 都是传入节点的父节点。在使用selectNodeContents();startContainer endContainer commonAncestorContainer 都是传入节点。
用Dom实现复杂选择
setStart(refNode,offset)
setEnd(refNode,offset)
其实可以用上面的方法来表示selectNode()
DOM2级遍历和范围 定义了俩个用于辅助完成顺序遍历DOM结构的类型NodeIterator和TreeWalker.这俩个类型能够基于给定的起点节点对DOM结构执行深度优先遍历操作。
var div = document.getElementById("div"); var it = document.createNodeIterator(div,NodeFilter.SHOW_ELEMENT,null,false); var node = it.nextNode(); while(node != null){ alert(node.tagName) node = it.nextNode() }
TreeWalker实例 同样具有NextNode()previousNode()方法,还有nextSilbling()previousSilbling firstChild()lastChild()
DOM中的范围:
方便控制页面,DOM2级在Document类型中定义了createRange()方法。在兼容Dom浏览器中这个方法属于Document对象。
利用DOM范围实现简单的选择
var range = document.createRange(); var div = document.getElementById("div"); range.selectNode(div);
在使用selectNode 时候startContainer endContainer commonAncestorContainer 都是传入节点的父节点。在使用selectNodeContents();startContainer endContainer commonAncestorContainer 都是传入节点。
用Dom实现复杂选择
setStart(refNode,offset)
setEnd(refNode,offset)
其实可以用上面的方法来表示selectNode()
var div = document.getElementById("div"); var range = document.createRange(); var len = div.parentNode.childNodes.length index = -1; for(var i = 0;i<len;i++){ if(div.parentNode.childNodes[i] == div){ index = i; } } range.setStart(div.parentNode,index); range.setEnd(div.parentNode,index+1);
相关文章推荐
- 文件遍历排序函数
- Mootools 1.2教程(2) DOM选择器
- DOM 事件流详解
- jQuery为DOM动态追加事件的方法
- Dom在ajax技术中的作用说明
- C# 利用IRawPixels接口遍历栅格数据
- Redis中实现查找某个值的范围
- Lua 学习笔记之C API 遍历 Table实现代码
- jQuery利用sort对DOM元素进行排序操作
- C#遍历文件夹后上传文件夹中所有文件错误案例分析
- C#中遍历Hashtable的4种方法
- javascript针对DOM的应用分析(三)
- Dom 是什么的详细说明
- javascript针对DOM的应用分析(五)
- jquery动态添加以及遍历option并获取特定样式名称的option方法
- javascript针对DOM的应用实例(一)
- Erlang中遍历取出某个位置的最大值代码
- 牛叉的Jquery――Jquery与DOM对象的互相转换及DOM的三种操作
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- 详解shell 遍历文件夹内所有文件并打印绝对路径