getElementsByTagName("ul").childNodes;

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

D冷风

2017-07-03 10:53

<!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]不就代表获取所有节点吗?

写回答 关注

2回答

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

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

    D冷风

    非常感谢!

    2017-07-03 19:39:29

    共 1 条回复 >

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

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

    D冷风

    是,主要是这里面就一个ul啊,还要写[0]干嘛?获取所有的ul和获取第一个ul不都是同一个吗?

    2017-07-03 17:27:50

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题