gpt4 book ai didi

javascript - 错误文档未在 IDE 中定义并且无法在浏览器或 jsfiddle 中工作

转载 作者:行者123 更新时间:2023-12-02 23:38:32 24 4
gpt4 key购买 nike

我正在遵循《Javascript Novice to Ninja》一书中的代码,第二个 JavaScript 代码给了我一个错误(文档未定义)

错误出现在 IDE(括号)中。在浏览器中尝试时,页面显示 HTML,但 JS 不起作用。当将其放入 jsfiddle ( https://jsfiddle.net/scrupply/xgotuyer/ ) 时,它也不起作用。我究竟做错了什么?这本书做错了什么?

var button = document.getElementById("button");
var rainbow = ["Red", "Orange", "Yellow", "Green", "Blue", "Indigo","Violet"];

function change() {
document.body.style.background = rainbow[Math.floor(7 * Math.random())];
}
button.addEventListener("Click", change);

背景应该根据正在调用的数组改变颜色。唯一的输出是 HTML 按钮。实际错误是“文档未定义。第 3 行和第 7 行为 [no-undef]。

最佳答案

不确定 - fiddle 在移动设备上看起来很疯狂,但假设您正在处理未加载的页面 - 您应该通过加载 body 元素来启动一个函数,或者有时您可以在元素旁边放置一个脚本。默认位置可能是在 head 中的正文之前,因此正文尚未加载,文档也未加载。

这个缩短的版本甚至可以在移动 FF 中工作,但不能在可能不运行 JS 的 HTML 显示中工作:

<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
var rainbow = ["Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"];

function change() {
document.body.style.background = rainbow[Math.floor(7 * Math.random())];
}
function worksAfterLoad() {
var button = document.getElementById("button");
button.addEventListener("click", change);
}
</script>
</head>
<body onload="worksAfterLoad()">
<button id="button">Click Me</button>
</body>
</html>

关于javascript - 错误文档未在 IDE 中定义并且无法在浏览器或 jsfiddle 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56190985/

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