저는 querySelector에 전달하기에 적합한 CSS 선택기로서 요소에 대한 상대적 참조를 저장하고있는 응용 프로그램을 작성하고 있습니다. "base"요소에 대한 상대 참조를 저장하려면 동일한 요소를 반환하는 선택기가 필요합니다.element.querySelector의 신원 선택기?
Level 1 Selectors API에 정의 된 Element
의 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";
}
}
빠른 답변 감사드립니다. 해결 방안으로 제안 된 ": root"의사 요소 선택기로 변환 된 null 또는 missing selector를 유지하고 querySelector에 대한 호출을 래핑하여 해당 입력을 처리합니다. – ironchefpython
@ironchefpython : 천만에요. 좋은 계획 같아. – user113716