无法从脚本中找到元素

Den*_*s D 1 html javascript dom

我正在尝试从JavaScript获取DOM元素.虽然ID是正确的,getElementId但似乎无法找到它; 我得到了

TypeError:无法读取null的属性"innerHTML"

在Chrome中,或者

TypeError:x为null

在Firefox中只使用下面的简单代码.为什么是这样?

<!DOCTYPE html>

<html>
    <head>
        <script>
            var x = document.getElementById("myHeader");
            alert(x.innerHTML);
        </script>
    </head>
    <body>
        <h1 id="myHeader">Click me!</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 12

由于<script>标记位于标记内部<head>,因此它在解析主体之前运行,因此该myHeader元素尚不存在.

您需要将<script>块放在<body>标记的末尾.