gpt4 book ai didi

javascript - 为什么这段代码只能在函数内部运行?

转载 作者:行者123 更新时间:2023-11-30 07:39:04 25 4
gpt4 key购买 nike

我有这个不在函数中的 JavaScript:

var numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
numbers.sort(function () {
return 0.5 - Math.random();
});
numbers.push("here");
document.getElementById("b1").innerHTML = numbers[0];
document.getElementById("b2").innerHTML = numbers[1];
document.getElementById("b3").innerHTML = numbers[2];
document.getElementById("b4").innerHTML = numbers[3];
document.getElementById("b5").innerHTML = numbers[4];
document.getElementById("b6").innerHTML = numbers[5];
document.getElementById("b7").innerHTML = numbers[6];
document.getElementById("b8").innerHTML = numbers[7];
document.getElementById("b9").innerHTML = numbers[8];
document.getElementById("b11").innerHTML = numbers[9];
document.getElementById("b12").innerHTML = numbers[10];
document.getElementById("b13").innerHTML = numbers[11];
document.getElementById("b14").innerHTML = numbers[12];
document.getElementById("b15").innerHTML = numbers[13];
document.getElementById("b16").innerHTML = numbers[14];
document.getElementById("b10").innerHTML = numbers[15];
document.getElementById("b10").style.backgroundColor = "white";

但它不起作用。我知道它一直工作到第三行的末尾,但是没有一个按钮(ID 为 b1、b2、b3 的按钮……)说什么。

当我把它改成这样时:

var numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
numbers.sort(function () {
return 0.5 - Math.random();
});
numbers.push("here");

function buttonClick() {
document.getElementById("b1").innerHTML = numbers[0];
document.getElementById("b2").innerHTML = numbers[1];
document.getElementById("b3").innerHTML = numbers[2];
document.getElementById("b4").innerHTML = numbers[3];
document.getElementById("b5").innerHTML = numbers[4];
document.getElementById("b6").innerHTML = numbers[5];
document.getElementById("b7").innerHTML = numbers[6];
document.getElementById("b8").innerHTML = numbers[7];
document.getElementById("b9").innerHTML = numbers[8];
document.getElementById("b11").innerHTML = numbers[9];
document.getElementById("b12").innerHTML = numbers[10];
document.getElementById("b13").innerHTML = numbers[11];
document.getElementById("b14").innerHTML = numbers[12];
document.getElementById("b15").innerHTML = numbers[13];
document.getElementById("b16").innerHTML = numbers[14];
document.getElementById("b10").innerHTML = numbers[15];
document.getElementById("b10").style.backgroundColor = "white";
}

当用户按下任何按钮时调用函数 buttonClick,当我按下其中一个按钮时,文字会添加到按钮中。有谁知道为什么它只在函数内部工作以及如何更改它以便它在函数外部也能工作?

最佳答案

我想这是因为当代码运行时这些元素不在 DOM 中。你可以把它放在 window.onload 中事件或使用 jQuery 的 $(document).ready()功能。

或者,您可以将此代码粘贴在 <head> 中或收盘前</body>标签,它应该可以工作。

关于javascript - 为什么这段代码只能在函数内部运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209132/

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