如果元素没有ID属性,我希望生成一种能够标识该元素的唯一标识符。
是否有某个函数可以获取DOM元素对象的对象哈希值,类似于PHP中的spl_object_hash? 这将足够独特。
如果元素没有ID属性,我希望生成一种能够标识该元素的唯一标识符。
是否有某个函数可以获取DOM元素对象的对象哈希值,类似于PHP中的spl_object_hash? 这将足够独特。
试试这个:
var uid = function (i) {
return function () {
return 'prefix-' + (++i);
};
}(0);
使用方法:
uid(); // "prefix-1"
uid(); // "prefix-2"
if (!el.id) el.id = uid(); // "prefix-3"
在JavaScript中没有“对象哈希”(object hash)。您可以设置自己的计数器来创建未使用的“id”值。
var getUnusedId = function() {
var counter = 0;
return function(prefix) {
prefix = prefix || "thelolcat";
var theId;
while (document.getElementById(theId = prefix + counter++));
return theId;
};
}();