gpt4 book ai didi

javascript - Jquery 循环无法正常工作?

转载 作者:可可西里 更新时间:2023-11-01 00:02:46 25 4
gpt4 key购买 nike

我正在尝试创建一个循环来创建许多函数,以便当用户单击竖起大拇指按钮时,它会运行正确的 .php 文档。当我删除循环并只给 var i 一个特定的数字时它工作得很好但是当我尝试将它变成一个循环时,在 alert(i) 处我在第一个循环中得到 10。

 var i=1;
while ( ++i < 10 ) {
$('#thumbup' + i).click(function() {
var userid = $('#theuser' + i).text();
var url = "_thumbup.php?userid=" + userid;
//alert(url);

$('#thumbup' + i).hide();
$('#thumbdown' + i).hide();

$("#toggle").css("display","block");
alert(i); // Give me 10 on first loop?!?

// get the URL
http = new XMLHttpRequest();
http.open("GET", url, true);
http.send(null);

// prevent form from submitting
return false;

});
}

最佳答案

这是一个经典问题:当您的回调被调用时,i 具有循环结束的值。

修复方法如下:

var i=1;
while ( ++i < 10 ) {
(function(i){
// your current code
})(i);
}

它起作用是因为内部函数在调用时会创建一个作用域,这个作用域包含你想要的 i 的值。

关于javascript - Jquery 循环无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19318554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com