很经典的逢面试必考的js问题
for (var i = 0 i < 91 i++) {$("#wenti" + i + " input").click(function() {
$("#wenti" + i + " input").attr("id", 'off')
// 这个click的function和变量i构成了一个闭包
// 这里的i不是循环时的那个值, 而是对变量i的一个引用
// 循环结束时i的值是91, 于是等到点击触发这个function时所有的i都是91
})
}
解决方式是再包一层function, 给每一个闭包都创建一个自己的i
for (var i = 0 i < 91 i++) {$("#wenti" + i + " input").click(
(function (j) {
return function () {
$("#wenti" + j + " input").attr("id", 'off')
}
})(i)
)
}
是要给文本框赋值吗?用JS吧
for (int i = 1i <21i++)
{
document.getElementById('startCardNo'+i).value=i//循环赋值
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)