私は少し複雑なjsコードを作ったが、結果は予期しないものだった。 これはどのように可能ですか?javascriptループの予期せぬ結果
var n = $("#mGrid tbody tr[class*='success']");
console.log(n.length);
for (var i in n)
{
console.log("x");
}
202
回x
を意味コンソールは
202 X
私は少し複雑なjsコードを作ったが、結果は予期しないものだった。 これはどのように可能ですか?javascriptループの予期せぬ結果
var n = $("#mGrid tbody tr[class*='success']");
console.log(n.length);
for (var i in n)
{
console.log("x");
}
202
回x
を意味コンソールは
202 X
コンソールに印刷しました。あなたはオブジェクト上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");
}
あなたは'.each()'を使って 'n 'で選択されたすべてのDOMノードをループすることができます。 – Terry