例如,当我们使用$('div span')
时,jQuery如何对我们进行搜索?
首先搜索span
元素还是div
?
似乎jQuery官方网站没有解释这些事情;它只是向我们展示通过API提供的功能。
我想知道每种类型的jQuery选择器是如何实现的,所以我可以选择要使用的最佳选择器。
你知道我在哪里可以得到这样的信息吗?
答案 0 :(得分:7)
从广义上讲,您需要了解的内容:
:first-child
等原生CSS选择器与:first
类似faster than jQuery selectors。你也可以阅读official Sizzle documentation,但它并没有真正讨论优化技术。
答案 1 :(得分:4)
首先搜索span
元素。它将选择器解析为:
对于第一部分,它可以使用getElementsByTagName
方法查找所有span
元素,然后它必须循环遍历每个元素的祖先以查找div
元素。
答案 2 :(得分:0)
最简单的地方是直接从源头阅读。从jquery站点下载未经过修改的源代码,并从原始源中读取它的作用和顺序。
答案 3 :(得分:0)
正如@Juhana所评论的那样,如果你想知道jQuery基于其选择器选择对象的具体方法,请查看github存储库:
https://github.com/jquery/jquery/
或者,查看未压缩的jQuery下载中可用的源代码:
如果你只是想知道哪些不同的选择器可用,jQuery在这里提供了一个列表:
答案 4 :(得分:0)