2012-07-24 47 views
14

例如,當我們使用$('div span')時,jQuery如何爲我們做這樣的搜索?如何瞭解jQuery選擇器如何在幕後工作?

是否首先搜索span元素或div

看來jQuery官方網站對這些東西沒有解釋;它只是告訴我們通過API可以使用哪些功能。

我想知道每個類型的jQuery選擇器是如何實現的,所以我可以選擇最好的選擇器來使用。

你知道我在哪裏可以得到這樣的信息嗎?

+0

明確的答案在這裏:https://github.com/jquery/jquery/ – JJJ 2012-07-24 13:18:40

+1

檢查jQueru源代碼http://code.jquery.com/jquery-latest.js – Shyju 2012-07-24 13:19:06

+3

而在特定選擇器的情況下,最終的答案經常出現在這裏:https://github.com/jquery/sizzle/ – 2012-07-24 13:19:18

回答

0

尋找最簡單的地方就是直接從源頭上讀取。從jquery站點下載未壓縮的源代碼,並從原始資源中讀取它執行的操作和順序。

http://jquery.com/download/

4

首先搜索span元素。它解析選擇爲:

  1. 用的tagName =跨度
  2. 經與祖先的任何元件的tagName = DIV

對於第一部分,它可以使用getElementsByTagName方法,找到所有span元素,那麼它必須循環遍歷每個的祖先以尋找div元素。