编写对jQuery函数的单独调用或使用单个链会更快吗?如果对为什么一个比另一个更快的原因进行了补充说明,将不胜感激:-)

一个例子:

$('#blah_id').niftyjQueryMethod1().niftyjQueryMethod2();

快于/慢于
$('#blah_id').niftyjQueryMethod1();
$('#blah_id').niftyjQueryMethod2();

最佳答案

在您的示例中,链接速度更快。

// Example 1
$('#blah_id').niftyjQueryMethod1().niftyjQueryMethod2();

// Example 2
$('#blah_id').niftyjQueryMethod1();
$('#blah_id').niftyjQueryMethod2();

在示例1中,创建jQuery对象($('#blah_id'))的调用仅进行了一次。在示例2中,它被制作了两次。这意味着第二次通话会变慢。

如果您不想将它们全部放在一个链中,则可以将选择内容缓存在一个变量中:
var blah = $('#blah_id');
blah.niftyjQueryMethod1();
blah.niftyjQueryMethod2();

假设这些方法不影响选择选择中存在的元素(例如parentfindfilter这样做),则与示例1几乎完全相同。

10-07 19:38
查看更多