4
我正在写一个应用程序,我将元素的相对引用存储为适合传入querySelector的CSS选择器。当我想存储对“基本”元素的相对引用时,我想有一个选择器将返回相同的元素。element.querySelector的标识选择器?
Level 1 Selectors API中定义的Element
的querySelector
方法的身份选择器如何满足以下条件?
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";
}
}
感谢您的快速回答。作为我的应用程序中的一个解决方案,我将持久化一个null或者丢失的选择器,将其转换为提议的“:root”伪元素选择器,并将我的调用包装为querySelector以处理该输入。 – ironchefpython
@ironchefpython:不客气。听起来像一个很好的计划。 – user113716