Javascript 按Id获取元素----未捕获类型错误:无法设置属性';innerHTML';空的

Javascript 按Id获取元素----未捕获类型错误:无法设置属性';innerHTML';空的,javascript,html,Javascript,Html,我试图用gdocument.getElementById通过Javascript编辑html,但我总是遇到错误:UncaughtTypeError--无法将属性“innerHTML”设置为null 这是我非常简单的代码 <html> <head> <title>External .js File- Page 3</title> </head> <body> &l

我试图用gdocument.getElementById通过Javascript编辑html,但我总是遇到错误:UncaughtTypeError--无法将属性“innerHTML”设置为null

这是我非常简单的代码

<html>
    <head>  
        <title>External .js File- Page 3</title>
    </head>

    <body>

        <script language="JavaScript">
        document.getElementById("text").innerHTML = "Hi!";
        </script>

        <article id="text"></article>

    </body>
</html>

外部.js文件-第3页
document.getElementById(“text”).innerHTML=“Hi!”;

您试图在元素存在之前获取它

移动脚本,使其显示在元素之后

(或者将代码包装到函数中,然后将该函数加载到事件处理程序中,如
load
)。

尝试:

window.onload = function(){

     document.getElementById("text").innerHTML = "Hi!";

};

在元素存在之前执行脚本。document.getElementById正在查找“文本”,但尚未找到。您必须将脚本放入window onload事件中,如下所示:

window.onLoad = function () {
    document.getElementById('text').innerHTML = "Hi";
};

这就像从一个没有装满的杯子里喝啤酒一样,你需要等到页面加载完毕,即
window.onload=function(){your code here}
。摆脱语言属性。谢谢你们,你们帮了很多忙!哈哈,我觉得我的代码中有什么地方出错了。除了移动它的位置,还有什么方法可以延迟它吗?是的,请看答案的第三行。