web-dev-qa-db-ja.com

jQuery.guidを使用する

jQuery.guidを自分で使用できますか?一意のID属性が必要な要素があるので、次のようにjQuery.guid++に設定します。

var guid = jQuery.guid++;

$('<a href="#" id="a' + guid + '">link</a>').appendTo('body');

これは安全ですか?コードやプラグインを壊しますか?

13
qwertymk

$.guidをグローバル変数として使用する場合は、guidという別の変数を作成する必要はありませんが、何も壊れてはなりません。

$.guidを一度初期化してから、直接使用するだけです。

// initialize once
$.guid= 0;

// use it directly when needed
$('<a href="#" id="a' + ($.guid++) + '">link</a>').appendTo('body');

更新:

$.guidはライブイベントのためにjQueryによって内部的に使用されているようであり、DOMには使用しないでください。独自のグローバル変数を作成し、自分でインクリメントする必要があります。

3
Daniel

このコードを使用して、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);
});
13
CodeRush