小编con*_*orc的帖子

无法在 setTimeout 内设置 innerHTML

尝试设置一个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 以及我的问题的可能解决方案。

javascript innerhtml typeerror settimeout

5
推荐指数
1
解决办法
1236
查看次数

标签 统计

innerhtml ×1

javascript ×1

settimeout ×1

typeerror ×1