如何将元素个性化为唯一标识符?

时间:2015-10-10 19:47:46

标签: javascript html google-chrome-extension

我试图想出一种将元素个性化为唯一标识符的方法。我的意思是,对于每个元素(在DOM中开始的元素或稍后创建的元素),我想为该元素分配唯一的标识符,以便当用户重新访问网站时,它们将是能够通过它的唯一标识符引用该元素。

我原以为你可以根据父母在哪里,在哪里放置父母的内容,以及兄弟姐妹参考他们各自的标识符,将任意标识符编号或字符串应用于任何给定元素。

有没有人对如何以这样的方式个性化任何给定元素有任何建议?我问的是因为我想编写一个Chrome扩展程序,允许用户随意选择任何元素并对其应用不同的规则,这些规则会在多个网站访问中持续存在。

2 个答案:

答案 0 :(得分:2)

您可以使用XPath。已经存在的chrome插件可以为每个元素找到唯一的XPath。 example chrome xpath plugin

答案 1 :(得分:2)

通常,您的问题不是100%可解决的。一个页面可以改变一点,这会抛弃你所有的标识符,启发式只会到目前为止。

想象一下,用户在网站上的第二篇新闻文章中选择了一个特定的单词。

后来,他访问了该网站,并有一篇新的文章,推动其他人。现在找不到这个词,或者突出显示一个不相关的词。

那就是说,你描述的内容最接近XPath,正如omer727所指出的那样。

单个元素可以有多个有效的XPath,因此您可以自行决定如何构造XPath。这个主题已经有了big question