Si sé que hay como máximo 1 objeto de este tipo en mi DOM, ¿debo agregar siempre: primero al selector para acelerar la búsqueda? Supongo que el motor de selección se detendrá tan pronto como encuentre 1 elemento coincidente, pero no estoy seguro de si el filtro realmente desacelera un poco.especifica: primero en el rendimiento de ayuda del selector de jquery?
Respuesta
No, como :first
no es una pseudo-clase CSS estándar, y su uso hará que su selector para no pasar a la función nativa de querySelectorAll()
DOM implementado mediante el apoyo a los navegadores (suponiendo que no se usa ninguna otra jQuery sólo sintaxis del selector).
jQuery tomará todo el selector y lo analizará solo (utilizando Sizzle, lo más probable), que es leguas más lento que dejar que el navegador haga el trabajo.
No será tan lento como para que el ojo humano pueda observarlo, por supuesto, pero ** en teoría ** dañaría el rendimiento en lugar de ayudar. Y de nuevo, esto realmente solo se aplica si el selector es compatible con el motor de CSS del navegador y, por lo tanto, 'querySelectorAll()'. – BoltClock
A su comentario: Si intenta depurar una página, donde se usa el selector 'pseudo-class': first', con respecto a Developer Tools of Chrome puede habilitar en la pestaña "Scripts" el botón "Pause on nocaught exceptions" (en El fondo). En cada selección con ': first' vería una excepción en' querySelectorAll' (vea [aquí] (http://www.trirand.com/blog/?page_id=393/bugs/small-performance-improvements-in-selectors/# p26631)). En muchos casos ': first' se puede reemplazar por': first-child' o ': nth-of-type (1)' con será rápidamente. Un uso de ': first' no es realmente lento, pero en el ciclo uno puede llenar la diferencia. – Oleg
Una práctica que es casi verdad; Cuantos más selectores especifique, más tendrá que validar el motor.
Por lo tanto, en su caso, si sabe que solo tiene uno, no lo especifique.
Pero con la declaración a continuación, por ejemplo, 100, ni siquiera lo notarás.
- 1. rendimiento del selector jQuery
- 2. jQuery primero de tipo selector?
- 3. Optimizar jQuery selector con: primero
- 4. Ayuda con el selector JQuery: no (: último)
- 5. jquery selector - excluir primero y segundo
- 6. rendimiento del selector de jQuery: una afirmación frente a dos
- 7. Jquery elemento + selector de clase rendimiento
- 8. selector de optimización de jQuery
- 9. Contexto del selector jQuery
- 10. índice de jQuery del elemento en el selector
- 11. Expresiones regulares del selector jQuery
- 12. jQuery - no el primero
- 13. clase jQuery dentro del selector de clase
- 14. jQuery: conseguir Identificación del selector de clase
- 15. Error posible del selector de clase JQuery
- 16. Comodín en el selector jQuery
- 17. jQuery dot en el selector de ID?
- 18. Selector de concatenados en jQuery?
- 19. jQuery selector de imágenes
- 20. jQuery selector de imagen
- 21. jQuery - Mejora del rendimiento/Código
- 22. ¿Equivalente del selector 'no' de jQuery en D3.js?
- 23. jQuery selector vacío (selector nulo)
- 24. jquery: selector []?
- 25. jQuery image selector src
- 26. Concatenar en jQuery Selector
- 27. jQuery selector
- 28. Diferencia entre $ ('selector') [0], $ ('selector'). Eq (índice) en jquery.
- 29. Obtiene la cadena del selector jQuery actual?
- 30. selector de Jquery, ¿debería especificar el tipo de etiqueta html?
Lo dudo. Me imagino que obtiene todos los elementos y luego verifica si son el primer elemento en el contenedor de los padres. (de derecha a izquierda). – Raynos