http://www.w3.org/TR/2008/WD-selectors-api-20081114/
基本上這個東西可以像是jquery那樣
以css形式的selector
去取得網頁上的元素(elements)
<用法>
從w3c的網頁上我們可以看到他有兩個函數(method)
http://www.w3.org/TR/2008/WD-selectors-api-20081114/#dom-document-selector
Element querySelector(in DOMString selectors);
NodeList querySelectorAll(in DOMString selectors);
其中querySelector是回傳找到的第一個
querySelectorAll是回傳找到的Element的NodeList
大概的用法也可以從該網頁找到
例如querySelectorAll的例子
<code>
var lis = document.querySelectorAll("ul.nav>li");
for (var i = 0; i < lis.length; i++) {
process(lis.item(i));
}
/**
* ECMAScript裡面可以把lis.item(i)寫成lis[i]
*/
function process(elmt) {
elmt.parentNode.removeChild(elmt);
}
</code>
</用法>
進入正題,當然如果瀏覽器本身就支援(Native)這樣的東西
好處就是 使用起來應該會比用JavaScript library模擬的快
而目前測過Windows下的瀏覽器
IE, Firefox, Safari, Chrome, Opera
實驗:
使用 http://www2.webkit.org/perf/slickspeed/
以Native是否失敗當做判斷是否支援的依據
瀏覽器 支援
IE 8 beta 2 Yes
IE 7 No
Firefox 3.1 beta 2 Yes
Firefox 3.0.4 No
Safari 3.2.1 Yes
Chrome 1.0.154.36 Yes
Opera 10 alpha 1 Yes
Opera 9.62 No
註:黃色代表該瀏覽器中 所測試的最新版本
可以看到即將出來的瀏覽器
漸漸的支援Selectors API
不過其中一個使用Selectors API的問題是
要看瀏覽器對於該selector的支援度
例如IE似乎對於div:only-child這樣的selector不支援
如果使用比較特別的selector的話
可能要自行注意一下
另外,例如取得id和body這樣的操作
透過selectors api不一定比較快就是了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.203.6
順著Opera 10 alpha 1的推出,
我注意到Selector API這個東西。