jQuery.data() を使用して、jQuery DOM オブジェクト参照を保存しています。
myObj.data('key', $('#element_id'));
私はこれを頻繁に (しばしば同じ DOM オブジェクトに対して) 使用するので、あまり多くのメモリを消費したくありません。jQuery は参照を保存しますか、それとも DOM オブジェクトのディープ コピーを保存しますか? その場合、要素参照の代わりに要素 ID を保存する方がよいと思います。
jQuery.data() を使用して、jQuery DOM オブジェクト参照を保存しています。
myObj.data('key', $('#element_id'));
私はこれを頻繁に (しばしば同じ DOM オブジェクトに対して) 使用するので、あまり多くのメモリを消費したくありません。jQuery は参照を保存しますか、それとも DOM オブジェクトのディープ コピーを保存しますか? その場合、要素参照の代わりに要素 ID を保存する方がよいと思います。
ビルドに使用する jQuery オブジェクトには次が$('#element_id')
含まれます
データ (ノード内) に保存するのは、jQuery オブジェクトです。このオブジェクトには、参照されている DOM ノードのディープ コピーは含まれていないため、ディープ コピーは保存されず、主に文字列といくつかのポインターを含む小さなオブジェクトのみが保存されます。
また、DOM ノード参照がキャッシュされるため、id を取得するよりも効率的です (id によるノードの検索は常に高速であるため、わずかですが、より複雑なセレクターを使用している場合は、違いが生じるでしょう)。
私の意見では、あなたがしていることは問題なく効率的です。
あなたはいつでもソースを直接見ることができます、オープンソースの場合はそうです:)
data.jsの51行目と52行目には、役立つコメントがあります。
//キーと値のペアの代わりに、オブジェクトをjQuery.dataに渡すことができます。これは
//既存のキャッシュに浅くコピー
浅いコピーだと思います!
更新07/14-そのリンクはhead:masterへのリンクだったので、今は完全に古くなっています。これが私が話していたものへの正規リンクです:16ba6ffのように