我试图在一个循环中组合 2 个变量,因为下面的代码显示我需要为每个添加一个数字var
,但我无法让它工作。这只是脚本的一部分。如您所见,var item
应该变成item1
,item2
等等item3
。
// 编码
for (i=0; i<10; i++){
var item+' '+i = $('ul').find('.list-item-'+i).text();
}
我试图在一个循环中组合 2 个变量,因为下面的代码显示我需要为每个添加一个数字var
,但我无法让它工作。这只是脚本的一部分。如您所见,var item
应该变成item1
,item2
等等item3
。
// 编码
for (i=0; i<10; i++){
var item+' '+i = $('ul').find('.list-item-'+i).text();
}
我会使用一个数组:
var items = []
for (var i=0; i<10; i++){
items[i] = $('ul').find('.list-item-'+i).text();
}
看到这一点也很重要
var item + ' ' + i
是变量的非法声明。
分配给在循环外声明的数组元素。for
你应该使用一个数组:
var item=new Array();
for (i=0; i<10; i++){
item[i] = $('ul').find('.list-item-'+i).text();
}
Chango上面的答案是完美的。
但是,如果您真的需要将它们存储为 item1, item2, ... 试试这个:
var tempArr=[];
var obj={};
for(i=0; i<10;i++) {
tempArr.push('item'+i);
}
for(i=0; i<10; i++) {
obj[tempArr[i]]=$('ul').find('.list-item-'+i).text();
}
现在您可以访问 item1 作为 obj.item1 等。
根本不需要做一个显式循环。
var items = $("ul li[id^='list-item-']").map(function(i,o){
return $(o).text();
}).get();
小提琴:http: //jsfiddle.net/jonathansampson/vM5Hy/
我认为如果你想使用像 item1 或 item2 这样的变量,你的代码应该是:
var items = [];
for (var i=0; i<10; i++){
items.push($('ul').find('.list-item-'+i).text());
}
但是在您的情况下,我认为该数组应该更好...
咪咪兹