querySelectorに渡すのに適したCSSセレクターとして、要素への相対参照を格納するアプリケーションを作成しています。「base」要素への相対参照を保存する場合は、同じ要素を返すセレクターが必要です。
レベル1セレクターAPIで定義されているquerySelector
メソッドのIDセレクターは、次の条件を満たすものですか?Element
var identitySelector = "<this is the selector I want to know>"
for (int i = 0; i < document.all.length; i++) {
var elem = document.all[i];
if (elem !== elem.querySelector(identitySelector)) {
throw identitySelector + " is not the identity selector";
}
}
アップデート:
このセレクターは使用できないため、querySelectorの呼び出しを、セレクターが疑似クラスと等しい場合にコンテキスト要素を返す関数でラップします:root
。
var identitySelector = ":root"
var querySelectorProxy = function(elem, selector) {
return selector === ':root' ? elem: elem.querySelector(identitySelector);
}
for (int i = 0; i < document.all.length; i++) {
var elem = document.all[i];
if (elem !== querySelectorProxy(elem, selector)) {
throw identitySelector + " is not the identity selector";
}
}