私はquerySelectorに渡すのに適したCSSセレクタとして、要素への相対参照を格納するアプリケーションを作成しています。 "base"要素への相対参照を格納する場合、同じ要素を返すセレクタが必要です。element.querySelectorのIDセレクタ?
Level 1 Selectors APIに定義されているのquerySelector
メソッドのIDセレクタは、次の条件を満たしていますか?
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に私の呼び出しをラップする
つもりです-class :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";
}
}
クイックアンサーに感謝します。私のアプリケーションの回避策として、nullまたは欠落セレクタを提案された ":root"擬似要素セレクタに変換し、querySelectorへの呼び出しをラップしてその入力を処理します。 – ironchefpython
@ironchefpython:ようこそ。良い計画のように聞こえる。 – user113716