不知道我是否盲目,但是每次查看此代码时,逻辑都是有意义的。我试图遍历此for循环,并为每次迭代生成一个ID为#dialog-(i)的对话框,但它仅显示200的最后一次迭代。代码如下:
var i;
for(i=1;i<200;i++){
$("#dialog-" + i).hide();
$('#meetings_box-' + i).click(function() {
var dialog = $("#dialog-" + i).dialog();
if (dialog) {
console.log('yay');
console.log(dialog);
} else {
console.log('nay');
}
});
};
找到问题的任何帮助,也许有些愚蠢
答案 0 :(得分:2)
这是因为click
会在将来的某个时候发生,届时循环已经完成了执行,并且i的值更新为最后一个值。您可以使用var
let