<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<script>
var g=document.getElementById("g");
var list=g.getElementsByTagName("*");
alert(list.length);
</script>
</head>
<body>
<ul id="g">
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</body>
</html>为什么会跳出Uncaught TypeError: Cannot read property 'getElementsByTagName' of null 我看了好几遍 好像没有错 麻烦大家帮我看一下 非常感谢
1 回答
已采纳
Annguowenhua
TA贡献2条经验 获得超0个赞
把<script>代码</script>移到<ul></ul>下面才会起作用,因为html文档是从上到下依次加载的,如果<head></head>里,先加载<script></script>里的代码,但body里的代码还未加载,所以不会起作用的。
特别注意,在head中时,所代表的functions只加载而不执行,执行是在某一事件触发后才开始。 在body中时,直接加载并执行,如果有不在函数中的执行语句,比如变量初始化,如果在head中就不会执行。
添加回答
举报
0/150
提交
取消