Tags : javascript

このTagsの登録数:1件 表示 : 1 - 1 / 1

2006-06-14

Selectors API

ポスト @ 20:47:56 | css, dom, javascript, web

HTML ソースから動作を分離するライブラリが注目を浴びていますが、Anne van Kesteren 氏の Weblog には Selectors API というのがありました。

HTML ソースから動作を分離するライブラリは我的春秋: 振る舞い分離 JavaScript ライブラリ一覧(編集途中)等を参照してください。

CSS のセレクタを指定すると該当する要素を取得できる、というものです。 最新の Selector API 草案 の例を引用すると

function resolver(str) {
  var prefixes = {
    xh:  "http://www.w3.org/1999/xhtml",
    svg: "http://www.w3.org/2000/svg"}
  return prefixes[str];
}
var a = document.matchAll("xh|div > svg|svg", resolver);
var b = document.match("div.foo.bar");

こんな感じです。document.matchAll は該当する全ての要素を返し、 document.match は該当する最初の要素を返します。名前空間を使う場合には DOM 3 XPath の XPathNSResolver をふたつ目の引数に指定します(例中の resolver)。使えるセレクタCSS 3 Selectors になるようです。

素直に DOM3 XPath を使えば良い気もしますが、どうなのでしょうか。