Javascript .eq()参数在循环中不起作用
我有以下功能:Javascript .eq()参数在循环中不起作用,javascript,jquery,Javascript,Jquery,我有以下功能: function createLogos() { for (var l=0; l<userList().length; l++) { var username = "https://api.twitch.tv/kraken/users/" + userList()[l]; $.getJSON(username, function(data) { $(":eq(l)").append("<img src="
function createLogos() {
for (var l=0; l<userList().length; l++) {
var username = "https://api.twitch.tv/kraken/users/" + userList()[l];
$.getJSON(username, function(data) {
$(":eq(l)").append("<img src=" + data.logo +">");
});
}
}
函数createLogos(){
对于(var l=0;l在您的代码中,您正在查找索引l
而不是循环的当前索引。现在,您要通过引用变量来执行此操作,您将遇到不同的问题,因为当代码被命中时,将计算l,因此它将是错误的值
因此,您需要在JSON调用之前引用元素
function createLogos() {
for (var l=0; l<userList().length; l++){
var username = "https://api.twitch.tv/kraken/users/" + userList()[l],
pic = $("#theTable .pic").eq(l);
$.getJSON(username, function(data){
pic.append("<img src=" + data.logo +">");
});
}
}
函数createLogos(){
对于(var l=0;l您可以用$.map()
替换for
循环,使用$.when()
函数createLogos(){
$.when.apply($,$.map(userList(),函数(el,索引){
变量用户名=”https://api.twitch.tv/kraken/users/“+el;
return$.getJSON(用户名、函数(数据){
$(“#theTable.pic”).eq(index).append(“”);
})
}))
}
尝试连接:eq()
希望它能起作用
function createLogos() {
for (var l=0; l<userList().length; l++){
var username = "https://api.twitch.tv/kraken/users/" + userList()[l];
$.getJSON(username, function(data){
$(":eq("+l+")").append("<img src=" + data.logo +">");
})
}
}
函数createLogos(){
for(var l=0;lbecausel
是一个字符串,不是对变量的引用,在修复问题后在for循环中使用它将是另一个错误。我怀疑您是否只想将“:eq”作为您的选择器在上面提到的更改之后,读取可能会相关。在使用:eq之前,我有以下行:$(“#theTable.pic”).eq(l)。append(“”);这也不起作用,因为l不是字符串。这是因为“臭名昭著的for循环”
function createLogos() {
for (var l=0; l<userList().length; l++){
var username = "https://api.twitch.tv/kraken/users/" + userList()[l];
$.getJSON(username, function(data){
$(":eq("+l+")").append("<img src=" + data.logo +">");
})
}
}