Es gibt keine einzige richtige Antwort auf diese Frage. Alles hängt davon ab, mit was Sie arbeiten müssen. Wenn Sie mit einer Seite arbeiten, die viele Elemente in der DOM-Struktur enthält, sollten Sie die Referenzen zwischenspeichern und wiederverwenden, um die Nachschlagezeit zu verkürzen. Wenn Sie an einer kleinen Seite arbeiten, ist es besser, Elemente im laufenden Betrieb nachzuschlagen und den Speicherverbrauch des Browsers zu minimieren.
Dies hängt auch von den Browsern ab, auf die Sie ausgerichtet sind. Zum Beispiel brauchen neuere Versionen von Firefox eine Weile, um ein Element zum ersten Mal zu korrigieren, aber sie cachen den Verweis intern, so dass das nächste Mal, wenn Sie nachsehen werden, es fast sofort sein wird. Auf der anderen Seite speichert IE keine Lookup-Werte, aber die Suchzeit ist beim ersten Versuch viel schneller als Firefox.
Viele moderne Frameworks werden die Elemente, die Sie für Sie gefunden haben, zwischenspeichern. Allerdings bevorzuge ich persönlich immer noch die Verwendung von document.getElementById die meiste Zeit.Was ich tun, wenn ich Lookup-Werte zwischenzuspeichern müssen, ist die folgende:
function registerElement(id)
{
if (!this["get_" + id])
this["get_" + id] = function() {
var element = document.getElementById(id);
this["get_" + id] = function() {return element;};
return element;
}
}
Sie verwenden diese durch registerElement Aufruf und eine ID des Elements vorbei. Wenn Sie den Wert abrufen müssen, rufen Sie die get_element-ID auf, die Sie übergeben haben, und beim ersten Ausführen wird das Element nachgeschlagen und zwischengespeichert. Bei jedem nachfolgenden Aufruf wird nur der zwischengespeicherte Wert zurückgegeben.
Weder - Sie sollten jQuery verwenden! – Aaronaught
Ich benutze jQuery. Für Leistungssteigerungen: dieselbe Frage: sollte ich das jQuery-Objekt ($ ('# id1')) zwischenspeichern oder sollte ich $ ('# id1') jedes Mal aufrufen, wenn ich es brauche? – Ropstah