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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
EXT中xtype的含义分析
Jan 07 Javascript
jquery 插件学习(一)
Aug 06 Javascript
jquery判断元素的子元素是否存在的示例代码
Feb 04 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
超精准的javascript验证身份证号的具体实现方法
Nov 18 Javascript
关于json字符串与实体之间的严格验证代码
Nov 10 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 jQuery
JavaScript 五大常见函数
Mar 23 Javascript
利用React Router4实现的服务端直出渲染(SSR)
Jan 07 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 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
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
python写xml文件的操作实例
2014/10/05 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
有机童装:Toby Tiger
2018/05/23 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
家居饰品店创业计划书
2014/01/31 职场文书
机关办公室岗位职责
2014/04/16 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
八年级英语教学计划
2015/01/23 职场文书
庐山导游词
2015/02/03 职场文书
物业工程部岗位职责
2015/02/11 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书