2016-04-23 138 views
0

我做了一些简单的js代码,但结果是意外的。 这怎么可能?来自javascript循环的意外结果

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

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

控制台

202 X

+0

你可以使用'.each()'循环所有由'n'选择的DOM节点。 – Terry

回答

1

这意味着202x印刷在控制台。当您在对象上使用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