jQuery从元素(或对象)生成唯一标识符
我想知道从对象(比如div)生成唯一标识符字符串的正确方法是什么。应该是jQuery从元素(或对象)生成唯一标识符,jquery,uniqueidentifier,Jquery,Uniqueidentifier,我想知道从对象(比如div)生成唯一标识符字符串的正确方法是什么。应该是 独特的-嗯,类似于1.4jQuery.data(元素)之前的版本,但它使用缓存,对吗 稳定-刷新后保持不变,因此不基于日期/时间或缓存 例如,从元素的内容生成,复制该元素基本上应该给出相同的标识符 一串 在这里,生成默认id的常规基本方法(如增量、数组)是不够的。请分享你的智慧 提前谢谢 编辑:不适用于元素属性ID。因此基本上需要一个js哈希函数。不完全是我的领域,但我听说它足够快(我猜像MD5或SHA1这样的普通怀疑对j
编辑:不适用于元素属性ID。因此基本上需要一个js哈希函数。不完全是我的领域,但我听说它足够快(我猜像MD5或SHA1这样的普通怀疑对js来说会很慢),并且有js实现 您可以得到元素内容(包括元素本身)有一个字符串,然后实现类似于string.hashCode()方法的东西,就像在java jdk中实现的那样 字符串对象的哈希代码计算为
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
使用int算术,其中s[i]是字符串的第i个字符,n是字符串的长度,^表示求幂。(空字符串的哈希值为零。)
根据您的实现/任务/使用情况,可能最好在服务器端实现此功能,尽管您说从元素的内容生成,因此复制该元素基本上应提供相同的ID。如果两个元素的内容完全相同会怎么样。。他们应该有相同的身份证吗?(难道你不想在DOM中使用唯一ID吗?)你想生成元素内容的散列,用作元素本身的ID吗?@Gaby:复制元素只是为了解释。David:不是为了ID属性,而是散列用于存储和检索数据。这正是我要找的。非常感谢。