在javascript中获取DOM元素哈希?

在javascript中获取DOM元素哈希?,javascript,jquery,object,hash,Javascript,Jquery,Object,Hash,如果元素没有ID属性,我想生成某种标识元素的唯一标识符 是否有一些函数可以获取DOM元素对象的对象哈希,类似于PHP中的spl_object_哈希?那就足够独特了。JavaScript中没有“对象哈希”。您可以设置自己的计数器来创建未使用的“id”值 这就给了你一个函数,你可以调用它来获得一个像“thelolcat203”这样的id。每次调用它时,计数器都会递增,并检查新值以确保文档中没有此类元素 这样做并不完全安全,因为您无法确定要动态添加的某些内容是否具有相同的id,但使用一些使其不太可能发

如果元素没有ID属性,我想生成某种标识元素的唯一标识符

是否有一些函数可以获取DOM元素对象的对象哈希,类似于PHP中的spl_object_哈希?那就足够独特了。

JavaScript中没有“对象哈希”。您可以设置自己的计数器来创建未使用的“id”值

这就给了你一个函数,你可以调用它来获得一个像“thelolcat203”这样的id。每次调用它时,计数器都会递增,并检查新值以确保文档中没有此类元素


这样做并不完全安全,因为您无法确定要动态添加的某些内容是否具有相同的id,但使用一些使其不太可能发生冲突的约定并不难。(jQuery库在内部执行此操作。)

这将对浏览器造成可笑的负担。您所描述的可以使用JS中内置的东西来完成。可以通过JS自动为他们提供ID,也可以通过类、子类、父类、标记名等选择他们。

尝试以下方法:

var uid = function (i) {
    return function () { 
        return 'prefix-' + (++i); 
    };
}(0);
用法:

uid(); // "prefix-1"
uid(); // "prefix-2"
if (!el.id) el.id = uid(); // "prefix-3"
uid(); // "prefix-1"
uid(); // "prefix-2"
if (!el.id) el.id = uid(); // "prefix-3"