JavaScript操作DOM元素的childNodes和children区别


Posted in Javascript onApril 01, 2015

对于DOM元素,children是指DOM Object类型的子对象,不包括tag之间隐形存在的TextNode,而childNodes包括tag之间隐形存在的TextNode对象。

具体看一下针对children和childNodes在chrome环境下的测试:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 <div id="div1" class="div">
 <span id="s1" class="sp" lang="zh-cn">
 </span>
 </div>
</body>
<script type="text/javascript">
 
 function test() {
 var o = document.getElementById("div1");
 var child = o.children;
 console.log("div1.children运行结果:");
 for(i = 0; i < child.length; i++){
   console.log(child[i].tagName);
  }
 
 console.log("");
 child = o.childNodes;
 console.log("div1.childNodes运行结果:");
 for(i = 0; i < child.length; i++){
   console.log(child[i].tagName);
  }
 
 }
 
 test();

</script>
</html>

测试结果如下:

div1.children运行结果:
 SPAN

 div1.childNodes运行结果:
 undefined
 SPAN
 undefined

上面childNodes集合的结果中有两个undefined节点,这连个就是nodeType=3的TextNode。

如果把HTML代码写成如下样式,那么children和childNodes的结果就没有差别了。

<body>
 <div id="div1" class="div"><span id="s1" class="sp" lang="zh-cn"></span></div>
</body>

对document、head、body及div等HTML元素实测未发现有其他差异

Javascript 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
js模仿jquery的写法示例代码
Jun 16 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
javascript密码强度校验代码(两种方法)
Aug 10 Javascript
JavaScript中文件上传API详解
Apr 01 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
浅谈vue2 单页面如何设置网页title
Nov 08 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 Javascript
React配置子路由的实现
Jun 03 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
Mar 31 #Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 #Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 #Javascript
JS动态改变表格边框宽度的方法
Mar 31 #Javascript
60行js代码实现俄罗斯方块
Mar 31 #Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 #Javascript
js实现的牛顿摆效果
Mar 31 #Javascript
You might like
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
javascript 定义初始化数组函数
2009/09/07 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
15分钟上手vue3.0(小结)
2020/05/20 Javascript
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
美国性感内衣店:Yandy
2018/06/12 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
思想专业自荐信范文
2013/12/25 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
意向协议书
2015/01/27 职场文书
污染环境建议书
2015/09/14 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
《日月潭》教学反思
2016/02/20 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python