以下のコードは、すべてvar
に数値を追加する必要があることを示しているため、2つの変数をループで結合しようとしていますが、動作させることができません。これはスクリプトの一部にすぎません。ご覧のとおり、、、などにvar item
なります。item1
item2
item3
// コード
for (i=0; i<10; i++){
var item+' '+i = $('ul').find('.list-item-'+i).text();
}
以下のコードは、すべてvar
に数値を追加する必要があることを示しているため、2つの変数をループで結合しようとしていますが、動作させることができません。これはスクリプトの一部にすぎません。ご覧のとおり、、、などにvar item
なります。item1
item2
item3
// コード
for (i=0; i<10; i++){
var item+' '+i = $('ul').find('.list-item-'+i).text();
}
私はarryを使用します:
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();
}
上記のチャンゴの答えは完璧です。
ただし、それらを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());
}
しかし、あなたの場合、私は配列がより良いはずだと思います...
ミミズ