Javascript 使用jQuery.guid
我可以将Javascript 使用jQuery.guid,javascript,jquery,guid,Javascript,Jquery,Guid,我可以将jQuery.guid用于我自己的用途吗?我有需要唯一id attr的元素,所以我只想将其设置为jQuery.guid++如下: var guid = jQuery.guid++; $('<a href="#" id="a' + guid + '">link</a>').appendTo('body'); var guid=jQuery.guid++; $('')。附于('正文'); 这安全吗?它会破坏任何代码或插件吗?它不应该破坏任何东西,不过,如果要将$
jQuery.guid
用于我自己的用途吗?我有需要唯一id attr的元素,所以我只想将其设置为jQuery.guid++
如下:
var guid = jQuery.guid++;
$('<a href="#" id="a' + guid + '">link</a>').appendTo('body');
var guid=jQuery.guid++;
$('')。附于('正文');
这安全吗?它会破坏任何代码或插件吗?它不应该破坏任何东西,不过,如果要将
$.guid
用作全局变量,则无需创建另一个名为guid
的变量
只需初始化一次$.guid
,然后直接使用它
// initialize once
$.guid= 0;
// use it directly when needed
$('<a href="#" id="a' + ($.guid++) + '">link</a>').appendTo('body');
//初始化一次
$.guid=0;
//需要时直接使用
$('')。附于('正文');
更新:
似乎jQuery在内部使用了
$。guid
用于实时事件,不应该用于DOM。您应该创建自己的全局变量并自己递增。您可以使用此代码生成Guid:
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,
function(c)
{
var r = Math.random() * 16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
是的,但是jQuery已经在内部使用了$.guid。我需要重用guid为标签和事件提供的任何值,因此我需要变量的副本。哦,对不起,我真的不知道
$。guid
是在内部使用的。在这种情况下,为了安全起见,我会使用我上面写的内容,只使用另一个变量名,例如$.myguid
。是的,但我不确定jQuery是否跟踪在删除或添加元素或事件时它所使用的数字。我需要知道它对任何插件或跟踪事件是否重要。我不希望它破坏任何代码,这就是为什么我说要使用不同的变量名,这样它就不会与$.guid
发生冲突。为什么要使用jQuery内部使用的变量?如果您只需要一个全局唯一的数字,请自己创建变量并递增它。这应该足够满足您的需要了,还是我遗漏了什么?是的,我不想做我自己的变量。我只是需要信息,如果它会破坏jQuery中的任何东西,它不会破坏jQuery。如果您更改jQuery.guid,可能有人编写了一个坏插件,该插件可能会崩溃。不过我还是建议不要这样做,因为任何新的jQuery版本都可能会破坏它<代码>$。guid实际上不应该是公共的。