2011-03-24 98 views
5

我想要有一个jQuery对象的哈希表,并且需要它们的某种唯一标识符。从jQuery对象获取哈希字符串/ guid

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对象得到一个字符串/ INT哈希码。

P.S.我不希望达到32位整数限制。

回答

1

没有本地标准的方式,我知道,但有这个
jQuery插件例如。 http://plugins.jquery.com/project/GUID_Helper

UPDATE:
通过jquery的使用GUID号被存储在jquery.guid
此外,jQuery是不使用该任何天然标准方法。它也遵循类似于你的方法。

+0

我可以写我自己的GUID包装。我只是想知道如果我可以钩入任何jQuery使用GUID。 – Raynos 2011-03-24 12:08:45

+0

-1 @Shree jquery.guid是事件处理程序的guid处理程序,因此它知道在delegate/live中调用/删除哪个处理程序。它不适用于DOM对象或jQuery对象。 – Raynos 2011-03-24 12:47:07

+0

对不起,我的坏。我的意思是说,JQuery也使用类似于你的方法 – 2011-03-24 13:04:06