来自javascript循环的意外结果

时间:2016-04-23 11:21:14

标签: javascript jquery

我制作了一些简单的js代码,但结果出乎意料。 怎么可能?

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

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

控制台

  

2

     

202 x

1 个答案:

答案 0 :(得分:1)

这意味着在{em>控制台中打印了xfor..in次。当您在对象上使用.each循环时,特定对象的可枚举属性将被迭代,直到它的原型链结束。

您的对象具有202个可数属性,包括属性和原型属性。

对于遍历jquery对象,您可以使用e.each(function(){ //$(this) the current element on the iteration. }); ,如下所示,

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

如果你想使用for循环,那么你必须这样做,

{{1}}