first - Rendimiento de jQuery,.css o addClass
next jquery (2)
Tengo un gran código jQuery y estoy pensando en acelerar el rendimiento de mis funciones. Cuando se hace clic en un elemento (mousedown) necesito asignar una imagen como fondo. Puedo hacer esto por 2 maneras:
$(''#element li.class'').css({"background":"someimageURL"});
o
$(''#element li.class'').addClass("someclass");
donde "someclass" tiene la imagen de fondo real de CSS. La función de bruja funciona mejor en este caso.
¿Hay alguna manera de probar la velocidad de varias funciones?
Gracias
Agregar clase es absolutamente más rápido, vea esta prueba de rendimiento de $.addClass()
vs $.css()
vs $.removeClass().addClass()
vs plain js - http://jsperf.com/jquery-css-vs-addclass-speed/2
Estoy casi seguro de que .addClass()
sería el más rápido de los dos. Esto implica esencialmente agregar otro nombre de clase al elemento, mientras que la alternativa requeriría iterar a través de los estilos de los elementos y establecer muchas reglas explícitas.
Establecer un par de reglas de css a través de $.css()
probablemente no sea algo de qué preocuparse, pero si te encuentras configurando muchas, a menudo, es hora de crear una clase y aplicar / eliminar según sea necesario.
He extraído la lógica de ambos métodos en una única ubicación para que la revises si quieres.