第二章 jQuery技術解密 (七)

mybwu_com發表於2013-12-28

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() 方法的程式碼如下所示。

相關文章