javascript - 如何使 jQuery 方法在 for 循环中工作?

标签 javascript jquery for-loop

我知道我可以使用 jQuery .each()功能(并且工作正常),但性能太低。所以我想使用 for 循环并在其中提供 jQuery 方法。 例如:

var anArray = $('#somediv').children(); // it has a lot of children
for(i=0;i<anArray.length;i++) { // or for(i=anArray.length;i--;)
  anArray[i].addClass('sample_class'); // and a bunch of other stuff
};

现在浏览器抛出这个错误:

Uncaught TypeError: Object #<HTMLDivElement> has no method 'addClass'

认为它与 jQuery 包装器有关 $() 我知道我之前在某个地方读过解决方案,但我无法追溯它。

最佳答案

确切地说,包装它,因为它们是 DOM 元素并且实际上没有 addClass 方法:

$(anArray[i]).addClass('sample_class');

引用:http://api.jquery.com/children/

关于javascript - 如何使 jQuery 方法在 for 循环中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243217/

相关文章:

javascript - 页面加载时的随机图像

JavaScript 正则表达式不区分大小写

javascript - 如何防止 iframe 中的链接在新标签页中打开

javascript - 模拟raphael js路径上的点击事件

java - 调试 java for 循环 : skip to a specific iteration

javascript - 选项选择动态更改下一个选择

javascript - Redux——繁重的工作应该在哪里发生——reducer、action、容器还是表示组件?

jquery - 如何通过jquery将一个<div>的内部html替换为另一个</div>

C: 使用 pthreads 和程序不退出 for 循环

loops - 在我的 Clojure 循环中什么也没有发生