for (var i = 0; i < 8; i++) {
$("#image" + i).click(function() {
console.log("test: " + i);
});
}
我等待测试:0,测试:1,测试:2 ...在这里的控制台,当我点击我的图片,但只有有: “测试:8” 消息。它为什么这样工作? 如何保存i变量的当前值?我需要做的是这样的:JQuery的click事件如何与其中的全局变量一起工作?
for (var i = 0; i < 8; i++) {
$("#image" + i).click(function() {
$("#anotherImage" + i).css("opacity", "0.5");
});
}
我有8个anotherImages用的ID:anotherImage0,anotherImage1,...,anotherImage7 :)
好的答案!但**“反而升起并且具有全局范围。”**只要我们没有看到完整的代码,我们不能确定变量的范围。我们只能知道功能共享相同的范围。在这种情况下,变量提升如何相关? – bugwheels94
啊,很好的接收!修改我的解释以反映这一点。好看。 –