尝试设置一个HTML类的innerHTML,它有四个框,每个框依次设置3秒。当innerHTML设置为加载图标时,我可以在没有setTimeout的情况下设置innerHTML。当将innerHTML放入setTimeout中时,将返回以下内容:“未捕获类型错误:无法设置未定义的属性‘innerHTML’”。
尝试调试我的代码,将消息发送到控制台并搜索 stackoverflow,但没有成功。
var x = document.getElementsByClassName("numberBox");
for (var i = 0; i < 4; i++) {
x[i].innerHTML= '';
x[i].innerHTML= "<div class='loader'></div>"
}
// function to generate array of 4 random numbers
var randomNums = generateRandomNumbers();
for (var i = 0; i < 4; i++) {
setTimeout(function () {
x[i].innerHTML= '';
x[i].innerHTML = randomNums[i];
}, 3000 * i);
}
Run Code Online (Sandbox Code Playgroud)
想知道为什么我的innerHTML 不能在这里设置setTimeout 以及我的问题的可能解决方案。