2016-04-23 22 views
0

私は少し複雑なjsコードを作ったが、結果は予期しないものだった。 これはどのように可能ですか?javascriptループの予期せぬ結果

var n = $("#mGrid tbody tr[class*='success']"); 
console.log(n.length); 

for (var i in n) 
{ 
    console.log("x"); 
} 

202xを意味コンソールは

202 X

+0

あなたは'.each()'を使って 'n 'で選択されたすべてのDOMノードをループすることができます。 – Terry

答えて

1

コンソールに印刷しました。あなたはオブジェクトfor..inループを使用している場合は、特定のオブジェクトの列挙可能プロパティは、それのプロトタイプチェーンの最後まで繰り返されます。

あなたのオブジェクトには、独自のプロパティとプロトタイププロパティの両方の202個の数値プロパティがあります。

jQueryオブジェクトを反復するために、あなたは以下のような.eachを使用することができますに、

e.each(function(){ 
//$(this) the current element on the iteration. 
}); 

それでもあなたは、forループを使用したい場合は、あなたが以下のようにしなければならない、

for (var i=0,i< n.length;i++) { 
    console.log("x"); 
} 
+0

trクラスをどのように反復処理できますか? – Mert

+0

@Mert上記の '.each'アプローチを使用することができます。 –

+1

おかげさまで、あなたは大きな助けになりました – Mert

関連する問題