childNodes用来获取一个元素的所有子元素,这个包括元素节点和文本节点。

  children用来获取一个元素的子元素节点,注意只是元素节点

其中DOM中常见的三种节点分别如下:

  元素节点:<body>,<p>,<a>,<div>,<head>.....等等这些标签,都是元素节点

  属性节点:title,value,href,id,class等等这些标签的属性,都是属性节点

  文本节点:文本节点是包含在在标签之内的内容(双标签)比如<p>this is text node</p>,中间的文字就是文本节点;注意包含在标签中间的不一定是文本节点,比如<div><p></p></div>当中的<p>是元素节点

  所以在使用childNodes来获取到一个元素的子元素集合,这是一个数组。

  其中最常用的是通过childNodes获得的对象数组中,第一个子元素对象(也即下标为0),这个元素是text,即文本节点,也可以使用firstChild来替代childNodes[0],然后通过nodeValue属性来获取text的值。

  如果在标签之中只有一个文本节点,而没有其他元素节点时,也可以使用innerHTML来获取这个节点的文本内容。

具体的用法如下:

<body><div id="test">this is test<p>this is other test</p></div>
</body>
<script>var div = document.getElementById("test");alert(div.childNodes.length);        //显示3alert(div.childNodes[0]);  //[object Text]alert(div.childNodes[0].nodeValue);   //显示this is test//等价alert(div.firstChild.nodeValue);      //显示this is testalert(div.childNodes[1]);    //[object HTMLParagraphElement]alert(div.childNodes[1].childNodes[0].nodeValue); //this is other test//等价   alert(div.childNodes[1].firstChild.nodeValue); //this is other test//p标签中无其他节点,可以使用innderHTMLalert(div.childNodes[1].innerHTML);  this is other test</script>

  

  

转载于:https://www.cnblogs.com/-beyond/p/8433576.html

JavaScript使用childNodes和children相关推荐

  1. javascript中childNodes与children 区别 以及firstChild与firstElementChild区别

    1:childNodes属性: 标准的,它返回指定元素的子元素集合,包括html节点,所有属性,文本.可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属 ...

  2. Javascript的childNodes和children

    有些时候你发现调用childNodes属于没有获得你期望的值.比如: html: <a href="javascript:void(0);" οnclick="se ...

  3. JavaScript之childNodes 和 children 区别

    1.先让我们来看看childNodes的用法,以及是如何计算节点数量: 为什么输出是7而不是3呢?原来Internet Explorer 会忽略节点之间生成的空白文本节点(比如换行字符),而 Mozi ...

  4. javascript中childNodes与children的区别

    1.childNodes:获取节点,不同浏览器表现不同: IE:只获取元素节点: 非IE:获取元素节点与文本节点: 解决方案:if(childNode.nodeName=="#text&qu ...

  5. javascript 中 parentNode,childNodes、children 应用

    "parentNode" 常用来获取某个元素的父节点. 把 parentNodes 理解为容器, 在容器中有个子节点      例: <div id="parent ...

  6. Js-parentNode、parentElement,childNodes、children 它们有什么区别呢?

    原文:http://www.it130.cn/Article/FAQ/Web-kaifa/JavaScript/2007-3-20/2007032017013900.html 所属分类:Web 开发 ...

  7. js表单验证处理和childNodes 和children 的区别

    一.对提交表单进行空值验证 html代码: 1 <form action="#"onsubmit="return validate_form(this);" ...

  8. childNodes和children的区别

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>c ...

  9. parentNode,childNodes、children 的使用

    "parentNode" 常用来获取某个元素的父节点. 把 parentNodes 理解为容器, 在容器中有个子节点      例: <div id="parent ...

最新文章

  1. 使用vb获取网页源文件并保存的简单代码
  2. 电脑DIY之内存传输标准
  3. 并查集详解(从引入到代码)
  4. 「镁客·请讲」安智汽车郭健:ADAS是一个链条式的系统,每个模块都必须做好...
  5. python模块导入_python模块导入
  6. java token生成和验证_程序员应该如何设计更优雅的Token认证方式?
  7. 在vb中使用Iphlpapi.dll获取网络信息(上)
  8. mysql提供的六种约束_MySQL中的六个约束
  9. Linux screen capture
  10. 综合布线系统技术是建设智慧城市的血脉
  11. 【源码】垂直偶极子天线的矩量法
  12. 哈佛幸福课中提到的书_借助虚拟现实,在哈佛最大的班级中排在前列
  13. shell输出毫秒_Shell获取毫秒时间
  14. 修改北京定点医院amp;查询医保信息
  15. Arcpy处理月NDVI,最大合成法合成年NDVI
  16. RecycleView的 Scrapped or attached views may not be recycled错误原因研究
  17. R语言柯西(cauchy)分布
  18. 淘宝网禁售无证食品和保健品 问题商品将被屏蔽
  19. svn查看ip linux,查看svn服务器的ip地址
  20. 模式识别算法之2--感知器(感知机)算法

热门文章

  1. 加密解密:公钥私钥过程详解
  2. python基础——类(面向对象的特征)
  3. 华为手机集成高德地图定位必须开启定位服务(不是申请定位权限,是打开GPS定位)
  4. Ubuntu安装eigen以及相应环境变量的配置
  5. Javascript验证码绘制下载
  6. 培训机构上海python
  7. 《习惯的力量》为什么我们这样生活,那样工作
  8. 【页面无响应】Web页面经常无响应前端如何定位与优化(已解決)
  9. ubuntu获取root权限_华硕ROG3游戏手机3开放解锁BL-支持获取root权限刷机操作
  10. 被带偏的“中国味道”!破发的卫龙,何以破局?