jQueryは要素のコレクションをキャッシュしないことを知っています.f.ex呼び出し:
$('.myclass').html('hello');
$('.myclass').html('bye');
jQuery が DOM を 2 回登るようになります。
しかし、キャッシュされた DOM ノードはどうでしょうか?
var elems = document.querySelectorAll('.myclass');
$(elems).html('hello');
$(elems).html('bye');
jQuery はそれらを内部的にキャッシュしますか、それとも最初の例と同じように遅くなりますか?
明確にするために:jQueryは参照を保持して内部的elems
にキャッシュするので、毎回$(elems)
同じラッパーを適用する必要はありませんか?$()
何かのようなもの:
cache = {}
constructor = function(collection)
if collection in cache
return cache[collection]
else construct(collection)