我在jsperf上创建了一个简单的示例来帮助解释我的问题。在 jsperf 的示例中,在链接上设置了样式属性(我知道这可以在没有循环的情况下完成)。
迭代 jQuery 对象的最有效方法是什么?
根据 jsperf 的结果,.each
性能相当不错,但也不是最快的。也许有一个更好的解决方案,我错过了。
1.以.each为例:
$('body').find('div.iojo-test-container a').each(function() {
$(this).css('color', 'red');
});
2.for循环示例(略快于.each):
var $a = $('body').find('div.iojo-test-container a');
for (var i = $a.length; --i;) {
$($a[i]).css('color', 'red');
}
3.最快的方式设置风格,但请忽略这种情况。这是关于迭代而不是设置 css 样式。
$('body').find('div.iojo-test-container a').css('color', 'red');