JavaScript - 所有DOM操作函数都返回null / empty?

时间:2013-11-29 00:47:58

标签: javascript dom

我正在从“专业Javascript for Web Developers”学习JS,我不能使用DOM树,因为它似乎不起作用。

以下是我在本地测试的一个例子:

http://jsfiddle.net/y5nfL/

它在jsfiddle上提醒“DIV”,而在本地我在控制台中得到这个:

  

未捕获的TypeError:无法读取null

的属性'tagName'

这是我的index.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>JS sandbox</title>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
        <div id="myDiv"></div>
    </body>
</html>

和script.js

var div = document.getElementById("myDiv");
alert(div.tagName);

我错过了什么?我一直在尝试克隆等其他东西,但getElementById()每次都返回null ...

1 个答案:

答案 0 :(得分:4)

执行脚本时,DOM在脚本标记之后不包含任何内容。在尝试访问DOM之前,您需要等待DOM完全就绪。

另一个更简单的选择是将脚本标记移动到文档的最末端,就在</body>之前。