为什么DOM元素为null?

时间:2016-06-15 22:23:08

标签: javascript styles runtime-error

我有这个简单的HTML文件:

<!DOCTYPE html>
<html>
<head>
    <script src='test.js'></script>
</head>

<body>
    <p>I am a paragraph tag</p>
    <h1 >I am an h1 tag</h1>
    <div id="id"> I am a div tag</div>
</body>

这个简单的脚本(test.js):

y=document.getElementById("id");
y.style.color="green";

为什么地球上的“y”为空?我得到的错误是

TypeError: y is null

我确信这是一个我想念的简单语法,但我不能为我的生活弄明白!救命啊!

发布脚本:html文件和test.js文件都在同一个文件夹中。

2 个答案:

答案 0 :(得分:4)

在创建所有元素时,您必须将脚本放在文档的末尾:

<!DOCTYPE html>
<html>
<head>

</head>

<body>
    <p>I am a paragraph tag</p>
    <h1 >I am an h1 tag</h1>
    <div id="id"> I am a div tag</div>
</body>
<script src='test.js'></script>

答案 1 :(得分:2)

如果使用jQuery,则可以使用$(document).ready包装脚本。如果使用普通的javascript,则可以使用window.onload。