【发布时间】:2012-10-07 05:56:30
【问题描述】:
我想知道使用缓存选择器和使用链式选择器之间是否存在性能差异?
如果我理解正确,则链接可以正常工作,因为每个函数都返回 jquery 对象,该对象与缓存选择器中包含的内容完全相同。因此,在下面的两个示例中,性能方面不会有差异吗?
缓存选择器
$(function(){
$.on('click', '.disabled', function(){
$toggle = $(this);
$toggle.attr('title', 'Object Enabled');
$toggle.toggleClass('disabled enabled');
$toggle.html('Enabled');
});
});
链式选择器
$(function(){
$.on('click', '.disabled', function(){
$(this)
.attr('title', 'Object Enabled')
.toggleClass('disabled enabled')
.html('Enabled');
});
});
【问题讨论】:
-
jsperf.com - 自己尝试一下 - 或者看看其他人的结果:stackoverflow.com/questions/10433014/what-is-the-cost-of-this
-
@ahren。
:)谢谢这是我的问题和答案... :) -
@gdoron - yeeeep,我注意到你昨天在另一个问题的答案中链接到它并阅读了 - 这是一个很好的帖子 =)
-
@ahren。谢谢,如果您想要其他资源,有一个问题被多次询问:this question 它是链接的答案。我在SO有一段时间没活跃了,所以我不能一直说它......你可以使用它。
标签: jquery performance caching jquery-selectors chaining