问答详情
源自:9-8 访问子节点childNodes

var x=document.getElementsByTagName("div")[0].childNodes;在getElementByTagName("div")后面为什么加上“【0】?”

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<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("div的第["+"]:"+x[i].nodeType+"<br>"
     };
 
 
</script>
</body>
</html>

提问者:慕姐3102452 2016-04-22 10:56

个回答

  • qq电子时代
    2016-04-24 16:05:38

    var y=document.getElementsByTagName("div");   //这里返回的是数组

     var x=y[0].childNodes;    //分开写是这样的

    你可以看见代码中有两个div标签,而y[0-]就是取数组中第一个元素,也就是第一个div标签


  • 丨MrFrancis灬
    2016-04-22 11:05:54

    document.getElementsByTagName("div")取的是一个数组,加上【0】 是取得数组中的元素就是节点,节点才有子节点,而数组不行。