我一直在使用HTML5 selectors API又名querySelector
。這些選擇器非常易於使用和少數。如果你不熟悉這個API,它與jQuery選擇器API非常相似,它們會得到一個CSS選擇器字符串並選擇正確的元素。例如,這些選擇的工作一樣:將HTML5查詢選擇器添加到瀏覽器不支持它
jQuery('#div') == document.querySelectorAll('#div')
jQuery('.myClass a') == document.querySelectorAll('.myClass a');
這個API的Browser support是相當不錯的。 IE8支持他們。只有兩個不支持這個API的瀏覽器是IE7和IE6。我正在尋找將此功能添加到IE7和IE6的解決方案。對我而言,querySelectorAll
和querySelector
就足夠了,但如果有辦法實現更多功能,那就太棒了!
我開始研究jQuery code,他們之前做過這樣的事情,所以這將是一個很好的地方,看看他們如何創建選擇器API,但我不明白代碼。任何想法?
+1當我只需要一個選擇器引擎並且還沒有jQuery並且它是幾個framwworks中的引擎時,Sizzle就是我使用的。 Sizzle足夠聰明,可以在存在時使用多個本地選擇器函數,並在不存在時自行實現它們。 – jfriend00
如何使用querySelectors實現?我的意思是,如果開發人員使用querySelector,並且在瀏覽器中不支持查詢選擇器,則會使用它。主要是我想要一個後備。我更喜歡使用查詢選擇器的原因是速度更快,語法更好。 – Mohsen
很酷,你說得對。它使用querySelector(如果可用)。你的答案被選爲正確的答案。 :)感謝 – Mohsen