访问子节点childNodes 的相关问题

来源:9-8 访问子节点childNodes

大年糕

2017-05-25 14:56

代码部分如下:

<body>

<div>

  javascript  

  <p>javascript</p>

  <div>jQuery</div>

  <h5>PHP</h5>

</div>

<script type="text/javascript">

 var x=document.getElementsByTagName("div")[0].childNodes;

 for(var i=0;i<x.length;i++)

 {

     document.write("第"+(i+1)+"个节点的名称是:"+x[i].nodeName+"<br />");

     document.write("第"+(i+1)+"个节点的值是:"+x[i].nodeValue+"<br />");

     document.write("第"+(i+1)+"个节点的类型是:"+x[i].nodeType+"<br />");

 }

 

 

</script>

</body>

本人是新手自学,请大神们给解释的详细一些:

我不明的地方:var x=document.getElementsByTagName("div")[0].childNodes;

这行代码的意思是 找到类标签“<div>”保存到数组x中,但是为什么要加[0],加[0]的意义是什么,难道是从x数组中第一个元素开始的意思吗?

麻烦大神了给详细讲解下 不胜感谢!


写回答 关注

6回答

  • _孩Zi气
    2017-06-27 11:01:29

    正如你所说,document.getElementsByTagName("div")是找到代码中所有的div元素节点,这段代码里面有两个div,下标分别是0和1。document.getElementsByTagName("div")[0].childNodes是下标为0的div元素里面所有的子节点,有一个文本节点,三个元素节点。若是你把那个0改为1的话那就只有一个文本节点了。

  • 指爱六弦
    2017-06-16 14:58:01

    刚看到的:[0]表示数组的第一个元素,放在这段代码里就是获取第一个div元素,因为一段js代码中可能不止一个div元素。希望能帮到你!

  • 指爱六弦
    2017-06-16 14:56:29

    我也是不懂为什么要加[0],刚发的问题,在线等!

  • 唯晓宝
    2017-06-09 09:37:52

    var x=document.getElementsByTagName("div")返回的应该是这个页面上所有的<div>,是个集合或者数组吧,然后,var x=document.getElementsByTagName("div")[0].childNodes就是获取数组第一一个元素,也就是第一个<div>标签下的所有子节点。是这样理解吗

  • 大年糕
    2017-05-25 15:01:34

    sorry啊,我明白了,var x=document.getElementsByTagName("div")[0].childNodes; 这个x数组中有两个元素,我们的目的是要第一个元素下的所有子节点!  额。。。自问自答了!

  • 大年糕
    2017-05-25 14:57:34

    在线等~~~~!

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题