【发布时间】:2015-08-19 23:06:15
【问题描述】:
我想知道这两种方法哪个更快:
在一个语句中选择容器和表单本身:
jQuery $('#submitForm form')
或使用 jQuery 的 .find() 选择器:
jQuery $('#submitForm').find('form')
【问题讨论】:
-
很确定是第二个,但你可以在 jsperf.com 上设置一个基准
我想知道这两种方法哪个更快:
在一个语句中选择容器和表单本身:
jQuery $('#submitForm form')
或使用 jQuery 的 .find() 选择器:
jQuery $('#submitForm').find('form')
【问题讨论】:
.find() 方法更快,因为第一个选择是在不通过 Sizzle 选择器引擎的情况下处理的 - 仅 ID 选择是使用 document.getElementById( 处理的,这非常快,因为它是浏览器原生的。
所以
jQuery $('#submitForm').find('form')
快于
jQuery $('#submitForm form')
选择器优化不像以前那么重要了,因为越来越多的浏览器实现了document.querySelectorAll(),并且选择的负担从jQuery转移到了浏览器。
【讨论】: