2011-03-24 99 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