Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery从元素(或对象)生成唯一标识符_Jquery_Uniqueidentifier - Fatal编程技术网

jQuery从元素(或对象)生成唯一标识符

jQuery从元素(或对象)生成唯一标识符,jquery,uniqueidentifier,Jquery,Uniqueidentifier,我想知道从对象(比如div)生成唯一标识符字符串的正确方法是什么。应该是 独特的-嗯,类似于1.4jQuery.data(元素)之前的版本,但它使用缓存,对吗 稳定-刷新后保持不变,因此不基于日期/时间或缓存 例如,从元素的内容生成,复制该元素基本上应该给出相同的标识符 一串 在这里,生成默认id的常规基本方法(如增量、数组)是不够的。请分享你的智慧 提前谢谢 编辑:不适用于元素属性ID。因此基本上需要一个js哈希函数。不完全是我的领域,但我听说它足够快(我猜像MD5或SHA1这样的普通怀疑对j

我想知道从对象(比如div)生成唯一标识符字符串的正确方法是什么。应该是

  • 独特的-嗯,类似于1.4jQuery.data(元素)之前的版本,但它使用缓存,对吗
  • 稳定-刷新后保持不变,因此不基于日期/时间或缓存
  • 例如,从元素的内容生成,复制该元素基本上应该给出相同的标识符
  • 一串
  • 在这里,生成默认id的常规基本方法(如增量、数组)是不够的。请分享你的智慧

    提前谢谢


    编辑:不适用于元素属性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属性,而是散列用于存储和检索数据。这正是我要找的。非常感谢。