no hay una única respuesta correcta a esta pregunta. Todo depende de con lo que tienes que trabajar. Si está trabajando con una página que tiene una gran cantidad de elementos en el árbol DOM, es mejor guardar en la memoria caché las referencias y volver a utilizarlas, para acelerar el tiempo de búsqueda. Si está trabajando en una página pequeña, es mejor buscar elementos sobre la marcha y minimizar el consumo de memoria del navegador.
También depende de los navegadores a los que apunta. Por ejemplo, las versiones más recientes de Firefox tardan un poco en ajustar un elemento por primera vez, pero almacenan en caché la referencia internamente, por lo que la próxima vez que vaya a buscarla, será casi instantánea. IE, por otro lado, no almacena en caché los valores de búsqueda, pero su tiempo de búsqueda es mucho más rápido que Firefox en el primer intento.
Muchos frameworks modernos almacenarán en caché los elementos que encontraste para ti. Sin embargo, yo personalmente sigo prefiriendo usar document.getElementById la mayor parte del tiempo.Lo que hago, cuando necesito para almacenar en caché valores de búsqueda es el siguiente:
function registerElement(id)
{
if (!this["get_" + id])
this["get_" + id] = function() {
var element = document.getElementById(id);
this["get_" + id] = function() {return element;};
return element;
}
}
Se utiliza esta llamando registerElement y se lleva una identificación del elemento. Cuando necesite recuperar el valor, llame al ID de get_element que aprobó y, en la primera ejecución, buscará el elemento y lo guardará en caché, en cada llamada consecutiva solo devolverá el valor en caché.
Ninguno de los dos debe usar jQuery! – Aaronaught
Estoy usando jQuery. Para mejorar el rendimiento: la misma pregunta: ¿debo almacenar en caché el objeto jQuery ($ ('# id1')) o debo llamar a $ ('# id1') cada vez que lo necesito? – Ropstah