2017-02-03 19 views
0

IntelliJでjQueryを使用して配列(結果と配列)を表示するコードを以下に示します。配列型はjQuery関数をサポートしていません。Javascript

for (var y = 0; y < result[0].length; y++) { 
        result[0][y].show(); 

for (var z = 0; z < arrays[0].length; z++){ 
        arrays[0][z].show(); 

興味深いことに、それは '配列' の細かい表示

Uncaught TypeError: result[0][y].show is not a function

しかし

下のような例外がスローされた '結果'。両方の配列のオブジェクトタイプをチェックしたとき

typeof(result); 
typeof(arrays); 

私はすべて「オブジェクト」でした。以下は結果と配列の配列の構造のスクリーンショットです。

結果enter image description here

アレイenter image description here

そこで両方が類似しています。それではなぜ 'result'に.show()を使用してエラーをスローすることができないのですか? jQuery .show()に適切な型でない場合、その配列をどのように見つけ出し、その配列をjQueryの.show()関数の使用法をサポートできるように変換する方法があるかどうかを教えてください。 助けてください。

+0

を試してみてください。 – SLaks

+0

* typeof *は演算子であり、関数ではないので、typeof result; ;-)そして、画像よりもテキストを投稿するほうがはるかに優れています。 – RobG

+0

あなたの配列は、あなたのコードが期待するレベルよりも一層深いネストされているようです。 'result [0] [0]'は、jQueryオブジェクト自体ではなく、8つのjQueryオブジェクトの配列です。 –

答えて

0

結果[0] [y]はjqueryオブジェクトではなく、配列です。 ループを深くする必要があります。

配列内のアイテムさえ、DOMオブジェクトであり、jQueryオブジェクトではありません。それはjQueryオブジェクトではありませんので、あなたが$を使用してjQueryオブジェクトに変換することができます()

この

for (var y = 0; y < result[0].length; y++) { 
    for (var z = 0; z < result[0][y].length; z++) { 
       $(result[0][y][z]).show(); 

for (var w = 0; w < arrays[0].length; w++){ 
    for (var x = 0; x < result[0][w].length; x++) { 
       $(result[0][w][x]).show(); 
関連する問題