JavaScript遍历DOM元素的常见方式示例


Posted in Javascript onFebruary 16, 2019

本文实例讲述了JavaScript遍历DOM元素的常见方式。分享给大家供大家参考,具体如下:

对于元素之间的空格,IE9以及之前的版本不会返回文本节点,,其他的浏览器会返回文本节点,所以我们在使用firstChild,lastChild时会导致行为不一致。

DOM中为元素新增了下面几个属性:

childElementCount:返回子元素(不包括文本节点和注释)的数量;
firstElementChild:firstChild的元素版;
lastElementChild:lastChild的元素版;
previousElementSiblingnextElementSibling对应着previousSiblingnextSibling的元素版

假设html如下,我们想遍历出div中的所有元素节点:

一般来说,区别元素节点,属性节点,文本节点的通用方式是判断该节点的nodeType。

常见的几种nodeType:

元素节点:1,

属性节点:2,

文本节点:3,

注释节点:8,
……

<div id="list">
  <p>hello</p>
  <span>world</span>
  <em>cookieParse()</em>
</div>

方式1:firstChildlastChild进行元素遍历:

var list = document.getElementById('list');
var child = list.firstChild;
console.log(list.nextSibling)
while(child != list.lastChild){
  if(child.nodeType == 1){
    console.log( child );
  }
  child = child.nextSibling;
}

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JavaScript遍历DOM元素的常见方式示例

方式2:使用firstElementChildnextElementSibling

var list = document.getElementById('list');
var child = list.firstElementChild;
while(child){
  console.log( child );
  child = child.nextElementSibling;
}

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JavaScript遍历DOM元素的常见方式示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS 分号引起的一段调试问题
Jun 18 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
May 27 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
Apr 18 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
canvas实现粒子时钟效果
Feb 06 Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
原生JS实现简单的无缝自动轮播效果
Sep 26 Javascript
详解一个基于套接字实现长连接的express
Mar 28 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 14 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 #Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 #Javascript
mocha的时序规则讲解
Feb 16 #Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 #jQuery
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 #Javascript
详解Element 指令clickoutside源码分析
Feb 15 #Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 #Javascript
You might like
php获取根域名方法汇总
2014/10/28 PHP
php析构函数的简单使用说明
2015/08/24 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
简单三步,搞掂内存泄漏
2007/03/10 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
vue实现验证码输入框组件
2017/12/14 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
Vue实现多标签选择器
2019/11/28 Javascript
python获取android设备的GPS信息脚本分享
2015/03/06 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
tensorflow获取变量维度信息
2018/03/10 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
解决Python中回文数和质数的问题
2019/11/24 Python
django框架forms组件用法实例详解
2019/12/10 Python
北体毕业生求职信
2014/02/28 职场文书
销售内勤岗位职责
2014/04/15 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2014年法务工作总结
2014/12/11 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书