js中遍历元素的方法
来源:互联网 发布:阶下囚 困倚危楼知乎 编辑:程序博客网 时间:2024/05/17 21:41
在js中遍历元素有许多方法,下面介绍几种比较方便的方法
1.使用深度优先或者广度优先遍历(这个方法很麻烦,但是很有效,虽然它的性能不是很高),具体可以看数据结构
2.使用document.getElementByTagName(“*”)方法,以通配符“*”作为参数获取所有元素,下面就简单了,一个for循环遍历就可以找到你要的元素了。
3.使用DOM2级自带的方法document.createNodeIterator(开始节点,需要获取的节点类型代码,过滤器,false);
(注:这个方法只有在DOM2级及以上的除IE浏览器能够使用)
开始节点:就是从哪个节点开始的
需要获取的节点类型代码:js以常量定义了这些节点:NodeFilter.SHOW_ELEMENT:元素节点
NodeFilter.SHOW_ALL:所有节点
NodeFilter.SHOW_ATTRIBUTE:特性节点
NodeFilter.SHOW_TEXT:文本节点
NodeFilter.SHOW_COMMENT:注释节点
NodeFilter.SHOW_DOCUMENT:文档节点
除了这些常用的还有一些别的就不列出来了。。。。。。。。。。。。。
过滤器:是一个方法或者一个对象包含过滤方法
下面是使用方法:
//这是一个选取含有指定类名元素的过滤器
function getFilterObj(selector){ return{ acceptNode:function(node){
//返回的一定是NodeFilter.FILTER_ACCEPT或者NodeFilter.FILTER_SKIP
return (node.className.indexOf(selector)>-1)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP; } }}//创建迭代器var iterator=document.createNodeIterator(document.body,NodeFilter.SHOW_ElEMENT,getFilterObj("age"),false);var node=iterator.nextNode();while (node!==null){ /* 执行一些功能 */ node=iterator.nextNode();}
0 0
- js中遍历元素的方法
- 遍历删除map中元素的方法
- js数组循环遍历数组内所有元素的方法
- JS数组循环遍历数组内所有元素的方法
- 遍历js对象的元素
- js/JQuery中遍历数组的方法
- js中处理json的方法 遍历
- JS中遍历键值对的方法
- js中map的遍历方法
- js:获得页面中元素的方法
- js中设置元素class的方法
- Java中遍历Map时删除元素的方法
- PHP中遍历数组元素的几种方法
- 【翻译】Java中遍历集合元素的不同方法
- Java 遍历容器中元素的方法总结
- js中删除数组中元素的方法
- shell中获取字符串长度的方法,获取数组元素个数,获取数组元素,数组遍历
- js中遍历对象的属性和值的方法
- MFC修改任务栏,窗口和exe图标
- Oracle 12c 单机安装PSU(12.1.0.2.161018)
- ubuntu 16.04 环境为 docker 创建 网络 代理 服务器 proxy
- 1015. 德才论 (25) PAT乙级&1062. Talent and Virtue (25)PAT甲级
- NodeJS基础item0—初识NodeJS
- js中遍历元素的方法
- iOS求职之OC面试题
- tomcat服务器配置JDK环境
- struts2拦截器(interceptor) 笔记
- 使用eclipse搭建node.js调试环境
- 学习JAVA看过的一些类,记录下来。
- 2017年1月19日面试基础一
- [BZOJ1014][JSOI2008]火星人prefix
- 判断某年份是否为闰年