繁体   English   中英

TypeError:document.body为null

[英]TypeError: document.body is null

为什么我在浏览器中出错?

TypeError:document.body为null

代码在JSfiddle中运行良好。

HTML

<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="jsscript.js"></script>
</head>
<body>
</body>

JS

var creElem = document.createElement("p");
creElem.innerHTML = "Hellow World";
creElem.setAttribute("id", "id_name");
document.body.appendChild(creElem);

在DOM加载时执行代码。 将您的逻辑包装在DOMContentLoaded的事件侦听器中。

document.addEventListener('DOMContentLoaded', function () {
    // ...
});

它在JSFiddle中工作的原因是因为JS是在加载时执行的(这是JSFiddle中的默认选项)。


或者,根据您何时需要执行逻辑,您还可以使用:

window.addEventListener('load', function () {
    // ...
});

请参阅: DOMContentLoaded和Load事件之间的区别

您的document.body尚未创作或存在。 如果你想将child附加到document.body或在你的javascript中使用document.body做任何事情,那么将你的javascript cod或js文件的链接放在body标签的末尾。

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script src="jsscript.js"></script>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM