从jQuery对象中获取哈希字符串/全局唯一标识符(GUID)

5
我希望有一个jQuery对象的哈希表,并需要一种唯一的标识符来识别它们。
DOM表示只是:
<tr>
    ...
</tr>

我希望能够将我的jQuery <tr> 对象添加到哈希表中。

hash[$(trObject).guid()] = $(trObject);

如何在不扩展jQuery的情况下唯一标识特定的jQuery对象?

我知道我可以编写一个方法。

(function() {
    var guid = 0;
    $.fn.guid = function() {
         var node = this[0];
         if (node.guid === undefined) {
              node.guid = guid++;
         }
         return node.guid;
    };
}());

为我完成这个任务,但我更想知道是否有一种本地标准方法可以从jQuery对象获取字符串/整数哈希码。

附注:我不指望达到32位整数的限制。

1个回答

1

据我所知,没有本地标准的方法,但有一些jQuery插件可以实现这个功能。
例如:http://plugins.jquery.com/project/GUID_Helper

更新:
jQuery使用的GUID号存储在jquery.guid中。
此外,jQuery也没有使用任何本地标准方法来实现这个功能。它采用了与您类似的方法。


我可以编写自己的GUID包装器。我只是想知道是否可以钩入任何jQuery使用的GUID。 - Raynos
-1 @Shree jquery.guid是一个GUID处理程序,用于事件处理程序,因此它知道在委托/实时中调用/删除哪个。它不适用于DOM对象或jQuery对象。 - Raynos
抱歉,我的错。我想表达的是,JQuery 也使用了类似于你的方法。 - sv_in

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接