javascript - JavaScript 循环产生意外结果

标签 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

最佳答案

这意味着 202x控制台中打印。当您在对象上使用for..in循环时,特定对象的可枚举属性将被迭代,直到其原型(prototype)链的末尾。

你的对象有 202 个可数的属性,包括自己的属性和原型(prototype)属性。

要迭代 jquery 对象,您可以使用 .each 如下所示,

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

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

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

关于javascript - JavaScript 循环产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36810140/

相关文章:

javascript - 如何在 Google Analytics 中使用 trackPageview?

javascript - 根据计数复制表行并分配唯一的 ID

javascript - 为新标签页和窗口的 Chrome 扩展程序添加事件监听器

javascript - 无法找到查询字符串值

javascript - 如何在 JavaScript 中围绕多段线绘制多边形?

javascript - 如何在滚动某些像素后触发CSS动画

javascript - 将 Jquery 对象数组传递到 php 数组

jquery - 在 JQGrid 中显示 Twitter Bootstrap 下拉菜单

Jquery .uniqueId() 为小部件分配一个已使用的 id

Javascript 类属性始终未定义