2011-11-11 7 views
-1

いくつかのDOM情報を配列に格納しようとしていますので、他の場所で使うことができます。私の配列は "関数ではありません"というエラーメッセージ

これは変数を使用する場合に機能しますが、配列を使用しようとすると "Arrayname is not function"というエラーメッセージが表示されます。私はなぜこれが変数ではなく配列で動作するのか分からない。

これは私が実行しているコードです:

function testmove(total) { 
    for (var x=1; x<=total; x++) { 
     allstore(x) = jQuery('#block-views-items-block .views-row-1').children('div'); 
     x++; 
    } 
} 

これは動作します:

function testmove(total) { 
    store1 = jQuery('#block-views-items-block .views-row-1').children('div');  
} 

私は、何かが/ここで何かを間違ってやって足りませんか?

allstore[x] = ... 

JavaScript配列の詳細なドキュメントについては、MDN: Arrayを参照してください:あなたは、配列を参照したい場合は

+0

配列は、あまりにも変数です。 –

+0

iexploreはまだこの構文をサポートしています(v11まで)。どうして?どのecmascriptバージョンでしたか? – kpull1

答えて

7

allStoreが配列である場合、あなたはこのようにそれを使用する必要があります。

allStore[x]

+0

ha!ああ私の神どんな完全な馬鹿。 WEllは、金曜日の夜に自分のコードに「素早く」修正するのではなく、酔っ払いに行く理由です。皆さんありがとう! – Purplemonkey

5

あなたが角括弧を使用する必要があります。

4

あなたは括弧の間違った種類を使用しています。インデックスまたはキーによって、配列の要素にアクセスするときには、角括弧の代わりに丸括弧を使用する必要があります。

allstore[x] 
5

あなたは、このように配列インデックスを参照するために角括弧を使用する必要があります。

allstore[x] = jQuery('#block-views-items-block .views-row-1').children('div'); 

かあなたが特定のインデックスを探していない場合には、このようにはJavaScript Push Methodを使用することができます。

allstore.push(jQuery('#block-views-items-block .views-row-1').children('div')); 
+0

+1両方のオプションを提供する –

関連する問題