例如,当我们使用$('div span')
请问jQuery的为我们做这样的搜索?
是否搜索span
元素第一或div
?
似乎jQuery的官方网站,对这些东西没有任何解释; 它只是向我们展示的功能都可以通过API。
我想知道每一种类型的jQuery选择是如何实现的,这样我就可以选择最好的选择使用。
你知道我在哪里可以得到这样的信息?
例如,当我们使用$('div span')
请问jQuery的为我们做这样的搜索?
是否搜索span
元素第一或div
?
似乎jQuery的官方网站,对这些东西没有任何解释; 它只是向我们展示的功能都可以通过API。
我想知道每一种类型的jQuery选择是如何实现的,这样我就可以选择最好的选择使用。
你知道我在哪里可以得到这样的信息?
从广义上讲,你需要知道:
:first-child
是不是jQuery选择快像:first
。 您还可以阅读官方文档灒 ,但它并没有真正讨论优化技术。
它将搜索span
元素第一。 它解析为选择:
对于第一部分,它可以使用getElementsByTagName
方法来查找所有span
的元素,那么它必须通过每个人的祖先寻找循环div
元素。
最简单的地方去寻找将直接从源读取。 从jQuery的网站下载uncompresserd源,并从原料来源它做什么和在哪个顺序读取。
http://jquery.com/download/
作为@Juhana曾评论说,如果你想知道具体的方法jQuery使用基于其选择器来选择对象,看看GitHub的库:
https://github.com/jquery/jquery/
或者,看看源代码可在未压缩的jQuery下载:
http://jquery.com/download/
如果你只是想知道什么不同的选择可供选择,这里的jQuery为他们提供的列表:
http://api.jquery.com/category/selectors/
他们从右到左解析。
见http://csswizardry.com/2011/09/writing-efficient-css-selectors/以及为什么从右侧的浏览器匹配CSS选择离开?