non esiste una sola risposta giusta a questa domanda. Dipende tutto da cosa devi lavorare. Se stai lavorando con una pagina che ha una massiccia quantità di elementi nell'albero DOM, è meglio memorizzare nella cache i riferimenti e riutilizzarli, per velocizzare il tempo di ricerca. Se stai lavorando su una piccola pagina, è meglio cercare gli elementi in tempo reale e ridurre al minimo il consumo di memoria del browser.
Dipende anche dai browser scelti come target. Ad esempio, le versioni più recenti di Firefox richiedono un po 'di tempo per mettere a punto un elemento, ma memorizzano il riferimento internamente, quindi la prossima volta che lo cercherete, sarà quasi istantaneo. IE, d'altra parte, non memorizza nella cache i valori di ricerca, ma il tempo di ricerca è molto più veloce di Firefox al primo tentativo.
Un sacco di quadri moderni memorizzeranno nella cache gli elementi che hai trovato per te. Tuttavia, io personalmente preferisco comunque utilizzare document.getElementById la maggior parte del tempo.Quello che faccio io, quando ho bisogno di memorizzare nella cache i valori di ricerca è la seguente:
function registerElement(id)
{
if (!this["get_" + id])
this["get_" + id] = function() {
var element = document.getElementById(id);
this["get_" + id] = function() {return element;};
return element;
}
}
È possibile utilizzare questo chiamando registerElement e passando un ID dell'elemento. Quando hai bisogno di recuperare il valore, chiami l'id get_element che hai passato e alla prima esecuzione cercherà l'elemento e lo metterà in cache, in ogni chiamata consecutiva verrà restituito solo il valore memorizzato nella cache.
fonte
2010-01-31 01:21:17
Nessuno dei due - dovresti usare jQuery! – Aaronaught
Sto usando jQuery. Per i guadagni in termini di prestazioni: stessa domanda: dovrei memorizzare nella cache l'oggetto jQuery ($ ('# id1')) o dovrei chiamare $ ('# id1') ogni volta che ne ho bisogno? – Ropstah