日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sizzle 官方API翻译

發布時間:2025/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sizzle 官方API翻译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Sizzle源碼解析[原創內容,歡迎轉載,如有錯誤,概不負責~~]

Sizzle官方文檔上說,Sizzle Api由三個部分構成。

  • Public API - 用戶使用
  • Extension API - 用于修改定制選擇器引擎
  • Internal API - 引擎內部使用

下面分別列舉一下各部份的API

  • Public API
    • Sizzle(String selector[, DOMNode context[, Array results]])

      • 查找elements的主函數,如果瀏覽器支持querySelectorAll的話,就會調用該函數。
      • 返回值(Array) - 選擇器找到的所有的元素
      • 參數說明:
        • selector - 一個 css 選擇器
        • context - 一個元素、文檔或文檔碎片作為上下文,用來查找元素。
        • results - 一個Array對象或者類Array對象。用于添加Sizzle選擇的結果。這里定義了Jquery中“array-like object”:
          • 有一個正數的length屬性。
          • 有一個push方法。
    • Sizzle.matchesSelector(DOMElement element, String selector)

      • 如果指定的element,能通過selector找到,則返回true,否則返回false。如果瀏覽器支持原生的Elements.matchesSelector,
        就使用原生的。
      • 返回值(Boolean)
      • 參數說明:
        • element - 需要測試的element
        • selector - 一個css選擇器
    • Sizzle.matches(String selector, Array<DOMElement> elements)

      • 從指定的結果集中篩選出與selector匹配的結果并返回。
      • 返回值(Array)
      • 參數說明:
        • selector - css selector
        • elements - DOMElement數組

  • Extension API
    • Sizzle.selectors.match.NAME = RegExp

      This contains the regular expressions used to parse a selector into different parts,
      to be used for finding and filtering. The name of each of the regular expressions
      should correspond to the names specified in the Sizzle.selectors.find
      and Sizzle.selectors.filter objects.

      該屬性包含的正規表達式用于將一個selector解析成不同的部份,用于查找和過濾。每一個正則表達式的名字
      都應對于Sizzle.selectors.find和Sizzle.selectors.filter對象中指定的名稱。

      Finding

      如果要新增一個find函數:

      • 正則表達式必須添加到match對象上。
      • 必須定義一個find函數
      • "|" + NAME必須附加到Sizzle.selectors.order
  • Sizzle.selectors.find.NAME = function(match, context, isXML) {}

    A method for finding some elements on a page.
    The specified function will be called no more than once per selector.

    該方法用于在一個page上查找一些elements.單個selector調用指定的函數的次數不會超過一次。
    參數說明:

    • match 是一個查找指定的selector返回的結果集
    • context 是一個DOMElement或DOMDocument,指定將要進行選擇的上下文
    • isXML 是一個Boolean值。表明函數當前操作的是否是一個XML文檔

      Filtering

      定義一個新的過濾表達式:

    • 正則表達式必須添加到match對象上
    • 過濾函數必須添加到filter對象上
    • 可以選擇在preFilter對象上定義一個函數

Extension API 先翻譯到這里。我自己都云里霧里不知道這些做什么用。看了源碼之后回頭再看這些。


  • Internal API

    功能性的操作應該通過訪問Public 和 Extension API. Internal API 只是給內部調用。
    已經暴露給edge cases[邊緣案例](http://en.wikipedia.org/wiki/Edge_case)

  • Sizzle.selectors.cacheLength

    Sizzle內部用于緩存編譯過的selector函數和token對象。長度默認50,可以設置為任意正整數。

  • Sizzle.compile(selector)

    該方法用于解析selector函數,并緩存下來,用于后面調用。返回一個函數。

轉載于:https://www.cnblogs.com/CoinXu/p/4568477.html

總結

以上是生活随笔為你收集整理的Sizzle 官方API翻译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。