今天重新看了一些博客對sizzle解析,有了一點新收穫。
jquery的sizzle選擇器引擎是一個很強大的功能,兼容了很多種選擇器匹配的寫法,比如可以使用它們的 id, 類, 類型, 屬性, 屬性值、僞類等來選取元素。廢話補多說,下面來對sizzle做個大概的分析:
1、Sizzle整體結構
if(document.querySelectorAll) {
sizzle = function(query, context) {
return makeArray(context.querySelectorAll(query));
}
} else {
sizzle 引擎實現,主要模擬querySelectorAll
}
通過上述代碼可以看出,Sizzle選擇器引擎的主要工作就是向上兼容querySelectorAll的這個API,假如所有瀏覽器都支持querySelectorAll,那麼Sizzle也就沒有存在的必要了 ^_^,當然,
可以詳勘: sizzle詳解