0

我试图在一个循环中组合 2 个变量,因为下面的代码显示我需要为每个添加一个数字var,但我无法让它工作。这只是脚本的一部分。如您所见,var item应该变成item1,item2等等item3

// 编码

for (i=0; i<10; i++){
    var item+' '+i = $('ul').find('.list-item-'+i).text();
}       
4

6 回答 6

6

我会使用一个数组:

var items = []
for (var i=0; i<10; i++){
    items[i] = $('ul').find('.list-item-'+i).text();
}

看到这一点也很重要

var item + ' ' + i

是变量的非法声明。

于 2012-06-06T17:27:02.140 回答
0

分配给在循环声明的数组元素。for

http://www.hunlock.com/blogs/Mastering_Javascript_Arrays

于 2012-06-06T17:27:10.987 回答
0

你应该使用一个数组:

var item=new Array();
for (i=0; i<10; i++){
    item[i] = $('ul').find('.list-item-'+i).text();
}   
于 2012-06-06T17:29:31.503 回答
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 等。

于 2012-06-06T17:32:27.340 回答
0

根本不需要做一个显式循环。

​var items = $("ul li[id^='list-item-']").map(function(i,o){
    return $(o).text();
}).get();​​​​​​​​​​​​​​​​​​​​​​​​​​

小提琴:http: //jsfiddle.net/jonathansampson/vM5Hy/

于 2012-06-06T17:33:54.167 回答
-2

我认为如果你想使用像 item1 或 item2 这样的变量,你的代码应该是:

var items = [];
for (var i=0; i<10; i++){
    items.push($('ul').find('.list-item-'+i).text());
}

但是在您的情况下,我认为该数组应该更好...

咪咪兹

于 2012-06-06T17:31:07.050 回答