2.4.5 Sizzle 构造器
在 jQuery.fn.init() 构造器中,通过调用 jQuery(context).find(selector) 函数来解析并匹配 DOM 元素。jQuery.find() 函数实际上是引用 Sizzle() 函数,而 Sizzle() 函数仅是 Sizzle 引擎的构造器,它主要调用 Sizzle.find() 函数在 DOM 文档树中查找与 CSS 语法相匹配 DOM 的元素节点的集合。jQuery 名字中 Query 的意义就体现在这里。下面我们来分析一下 Sizzle 构造器函数。该函数是整个 Sizzle 引擎的入口。
2.4.6 Sizzle 选择器
在 jQuery 构造器一节中,我们介绍了 init() 构造函数处理选择器字符串的第四种情况,截取代码如下所示。
}else
// 第四种情况,处理 jQuery(expression, [context]),
// 例如,$("div .red") 的表达式字符串
return jQuery( context ).find(selector);
在这里,jQuery 调用了 jQuery 对象的 find() 方法来处理选择器字符串。find() 方法的代码如下所示。