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

关于getElementsTagName的通配器的问题

关于getElementsTagName的通配器的问题

Beckybei 2015-08-13 12:07:14
<!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中就不会执行。

查看完整回答
反对 回复 2015-08-13
  • 1 回答
  • 0 关注
  • 1130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信