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

getElementsByTagName("ul").childNodes;

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>

<script type="text/javascript">

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

         document.write(x.length+"&nbsp");

</script>

</body>

</html>

如果没有[0],var x=document.getElementsByTagName("ul").childNodes;则无结果,必须要 var x=document.getElementsByTagName("ul")[0].childNodes;才有结果,为什么?不写[0]不就代表获取所有节点吗?

提问者:D冷风 2017-07-03 10:53

个回答

  • 慕瓜0344933
    2017-07-03 18:48:46
    已采纳

    getElementsByTagName(),返回的诗歌数组,所以即使只有一个也要加【0】,你可以看一下数组的定义,http://www.w3school.com.cn/js/js_obj_array.asp

  • 慕瓜0344933
    2017-07-03 17:20:28

    document.getElementsByTagName("ul"),这个获取的是个数组,要加个【0】,才能定位到第一个ul标签。你的x是代表第一个ul下的li的所有集合。