【问题标题】:jQuery $('#submitForm').find('form') vs jQuery $('#submitForm form')jQuery $('#submitForm').find('form') 与 jQuery $('#submitForm form')
【发布时间】:2015-08-19 23:06:15
【问题描述】:

我想知道这两种方法哪个更快:

在一个语句中选择容器和表单本身:

jQuery $('#submitForm form')

或使用 jQuery 的 .find() 选择器:

jQuery $('#submitForm').find('form')

【问题讨论】:

标签: jquery find


【解决方案1】:

.find() 方法更快,因为第一个选择是在不通过 Sizzle 选择器引擎的情况下处理的 - 仅 ID 选择是使用 document.getElementById( 处理的,这非常快,因为它是浏览器原生的。

所以

jQuery $('#submitForm').find('form')

快于

jQuery $('#submitForm form')

选择器优化不像以前那么重要了,因为越来越多的浏览器实现了document.querySelectorAll(),并且选择的负担从jQuery转移到了浏览器。

【讨论】:

  • 对我来说,看起来 .find 更快(甚至许多其他人都说它更慢)。它总是比单个选择器快 20% 左右
  • 通过遍历过滤需要更多的代码,但速度更快。
  • 我只会说在选择器的右侧要具体,在左侧不太具体。 :)
猜你喜欢
  • 1970-01-01
  • 2016-03-20
  • 2014-04-25
  • 2018-09-06
  • 2018-12-06
  • 2020-06-30
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多