Javascript element.querySelector的标识选择器?
我正在编写一个应用程序,其中存储对元素的相对引用,作为适合传递到querySelector的CSS选择器。当我想存储对“base”元素的相对引用时,我希望有一个选择器返回相同的元素 满足以下条件的Javascript element.querySelector的标识选择器?,javascript,dom,css-selectors,selectors-api,Javascript,Dom,Css Selectors,Selectors Api,我正在编写一个应用程序,其中存储对元素的相对引用,作为适合传递到querySelector的CSS选择器。当我想存储对“base”元素的相对引用时,我希望有一个选择器返回相同的元素 满足以下条件的元素的查询选择器方法的标识选择器是什么 var identitySelector = "<this is the selector I want to know>" for (int i = 0; i < document.all.length; i++) { var ele
元素
的查询选择器
方法的标识选择器是什么
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";
}
}
没有
John Resig在他的博客主题中提供了一个 他的意见是,虽然可以从任何元素节点进行搜索,但传递的选择器会考虑整个文档。(就个人而言,我认为这是正确的方法。)因此,他希望会有一个像你所描述的身份选择器 jQuery(Sizzle)使用了一点技巧,即使用元素的ID(如果不可用,则分配一个临时的ID)并重新构造选择器以预先添加该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],
needs_id = false;
if( !elem.id ) {
needs_id = true;
elem.id = '___some___obscure___value___';
}
if (elem !== elem.querySelector( '#' + elem.id )) {
throw identitySelector + " is not the identity selector";
}
if( needs_id ) {
elem.id = null;
}
}
var identitySelector=“”
for(int i=0;i