我正在尝试在循环中组合2个变量,因为下面的代码显示我需要为每个var
添加一个数字,但我无法让它工作。这只是脚本的一部分。正如您所见,var item
应该变为item1
,item2
,item3
等等。
//代码
for (i=0; i<10; i++){
var item+' '+i = $('ul').find('.list-item-'+i).text();
}
答案 0 :(得分:6)
我会使用数组:
var items = []
for (var i=0; i<10; i++){
items[i] = $('ul').find('.list-item-'+i).text();
}
对于
来说也很重要var item + ' ' + i
是变量的非法声明。
答案 1 :(得分:0)
分配给外部 for
循环声明的数组元素。
答案 2 :(得分:0)
您应该使用数组:
var item=new Array();
for (i=0; i<10; i++){
item[i] = $('ul').find('.list-item-'+i).text();
}
答案 3 :(得分:0)
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等访问
答案 4 :(得分:0)
根本不需要进行显式循环。
var items = $("ul li[id^='list-item-']").map(function(i,o){
return $(o).text();
}).get();
答案 5 :(得分:-2)
我认为如果你想使用像item1或item2这样的变量,你的代码应该是:
var items = [];
for (var i=0; i<10; i++){
items.push($('ul').find('.list-item-'+i).text());
}
但在你的情况下,我认为阵列应该更好......
Mimiz