gpt4 book ai didi

javascript - 为什么 document.body 在我的 javascript 中为空?

转载 作者:IT王子 更新时间:2023-10-29 02:39:44 24 4
gpt4 key购买 nike

这是我的简短 HTML 文档。

为什么 Chrome 控制台会提示此错误:

"Uncaught TypeError: Cannot call method 'appendChild' of null"?

<html>
<head>
<title>Javascript Tests</title>

<script type="text/javascript">

var mySpan = document.createElement("span");
mySpan.innerHTML = "This is my span!";

mySpan.style.color = "red";
document.body.appendChild(mySpan);

alert("Why does the span change after this alert? Not before?");

</script>
</head>
<body>

</body>
</html>

最佳答案

主体此时尚未定义。通常,您希望在执行使用这些元素的 javascript 之前创建所有元素。在这种情况下,您在 head 中有一些 javascript使用 body 的部分.不酷。

您想将此代码包装在 window.onload 中处理程序或将其放置在 <body>之后标签(如 e-bacho 2.0 所述)。

<head>
<title>Javascript Tests</title>

<script type="text/javascript">
window.onload = function() {
var mySpan = document.createElement("span");
mySpan.innerHTML = "This is my span!";

mySpan.style.color = "red";
document.body.appendChild(mySpan);

alert("Why does the span change after this alert? Not before?");
}

</script>
</head>

See demo .

关于javascript - 为什么 document.body 在我的 javascript 中为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com