相关疑难解决方法(0)

设置onclick以在循环中使用变量的当前值

标题可能没有意义,也没有单独的描述,所以这里是代码的示例:

for(var a=0;a<10;a++) {
    var b=document.createElement('b')
    b.onclick=function() {
        alert(a)
    }
    b.innerHTML=a
    document.body.appendChild(b)
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我将innerHTML设置为a时,它使用a的当前值.因此,此代码创建了10个<b>元素,其值为0,1,2,3,4,5,6,7,8和9.这非常有效.然而,onclick功能不是什么.a当单击任何这些元素时,它返回(10)的最终值.我已经尝试设置另一个变量a,然后在onclick事件中使用其他变量,但它仍然返回最终值a.如何使用aonclick设置时的值?

javascript variables scope loops

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

loops ×1

scope ×1

variables ×1