Tom*_*Tom 7 javascript firefox dom
我知道我可以使用 querySelector 来定位文档中的元素
var element = document.querySelector(".myclass")
Run Code Online (Sandbox Code Playgroud)
但是否存在一个反向查询选择器使得:
var selector = document.inverseQuerySelector(element);
Assert.AreEqual(element, document.querySelector(selector));
Run Code Online (Sandbox Code Playgroud)
inverseQuerySelector 返回的选择器总是唯一标识指定元素?
不,因为有许多选择器(可能是无限的)可以选择相同的元素。
对于一个可逆函数(即使在数学中),它的映射必须是 1 到 1,但事实并非如此。
顺便说一句,正因为如此,您可以创建一些仅在某些情况下有效的东西。例如:
function inverseForElementWithUniqueId(element){
return '#' + element.id;
}
var selector = inverseForElementWithUniqueId(element);
Assert.AreEqual(element, document.querySelector(selector)); //True
Run Code Online (Sandbox Code Playgroud)
(代码确实可能看起来微不足道)
但如前所述,由于理论原因,这只适用于一小部分情况。
但是,它只能在某些时候起作用
归档时间: |
|
查看次数: |
4254 次 |
最近记录: |