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

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

正在回答

2 回答

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

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

D冷风 提问者

非常感谢!
2017-07-03 回复 有任何疑惑可以回复我~

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

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

D冷风 提问者

是,主要是这里面就一个ul啊,还要写[0]干嘛?获取所有的ul和获取第一个ul不都是同一个吗?
2017-07-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

getElementsByTagName("ul").childNodes;

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