如何了解jQuery选择在幕后是如何工作的?(How can I learn how jQuery

2019-06-26 12:37发布

例如,当我们使用$('div span')请问jQuery的为我们做这样的搜索?

是否搜索span元素第一或div

似乎jQuery的官方网站,对这些东西没有任何解释; 它只是向我们展示的功能都可以通过API。

我想知道每一种类型的jQuery选择是如何实现的,这样我就可以选择最好的选择使用。

你知道我在哪里可以得到这样的信息?

Answer 1:

从广义上讲,你需要知道:

  1. jQuery的读取选择从右到左 。
  2. 用一个确切的ID是最快的 ,然后用一个确切的标签名称,因为他们使用优化的JavaScript原生方法。
  3. 本地CSS选择器一样:first-child是不是jQuery选择快像:first

您还可以阅读官方文档灒 ,但它并没有真正讨论优化技术。



Answer 2:

它将搜索span元素第一。 它解析为选择:

  1. 用的tagName =跨度任何元件
  2. 有一个祖先与标签名= DIV

对于第一部分,它可以使用getElementsByTagName方法来查找所有span的元素,那么它必须通过每个人的祖先寻找循环div元素。



Answer 3:

最简单的地方去寻找将直接从源读取。 从jQuery的网站下载uncompresserd源,并从原料来源它做什么和在哪个顺序读取。

http://jquery.com/download/



Answer 4:

作为@Juhana曾评论说,如果你想知道具体的方法jQuery使用基于其选择器来选择对象,看看GitHub的库:

https://github.com/jquery/jquery/

或者,看看源代码可在未压缩的jQuery下载:

http://jquery.com/download/

如果你只是想知道什么不同的选择可供选择,这里的jQuery为他们提供的列表:

http://api.jquery.com/category/selectors/



Answer 5:

他们从右到左解析。

见http://csswizardry.com/2011/09/writing-efficient-css-selectors/以及为什么从右侧的浏览器匹配CSS选择离开?



文章来源: How can I learn how jQuery selectors work behind the scenes?