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 相关文章推荐
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
js中的replace方法使用介绍
Oct 28 Javascript
Yii2使用Bootbox插件实现自定义弹窗
Apr 02 Javascript
js中 计算两个日期间的工作日的简单实例
Aug 08 Javascript
JS快速实现移动端拼图游戏
Sep 05 Javascript
javascript实现简易计算器
Feb 01 Javascript
js实现放大镜特效
May 18 Javascript
JavaScript类的继承方法小结【组合继承分析】
Jul 11 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
Jul 30 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
PHP随机数生成代码与使用实例分析
2011/04/08 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
python实现逆波兰计算表达式实例详解
2015/05/06 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
如何提高MySql的安全性
2014/06/19 面试题
区优秀教师事迹材料
2014/02/10 职场文书
校园安全演讲稿
2014/05/09 职场文书
演讲比赛策划方案
2014/06/11 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年度安全工作总结
2014/12/04 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
Python的三个重要函数详解
2022/01/18 Python
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js