为了账号安全,请及时绑定邮箱和手机立即绑定

访问子节点childNodes 的相关问题

代码部分如下:

<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 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

在线等~~~~!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

访问子节点childNodes 的相关问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信