.find()比基本的后代选择方法快吗?

Ani*_*ish 7 performance jquery jquery-selectors

Paul Irish的博客中提到的幻灯片30 :

$('#container').find('div.robotarm') 比...更快 $('#container div.robotarm')

这是真的?

jAn*_*ndy 5

也许在早期版本的jQuery中就是这种情况.但是,表达

$('#container div.robotarm')
Run Code Online (Sandbox Code Playgroud)

通过jQuery规范化

$('#container').find('div.robotarm')
Run Code Online (Sandbox Code Playgroud)

所以唯一的原因$('#container div.robotarm')应该是因为函数调用开销较慢.但是,这确实是一个微不足道的差异.

如果该调用未规范化,则sizzle(Resigs css选择器引擎)将用于查找该元素(从右到左).那当然会慢得多.