two not div all javascript jquery sizzle

not - wrap javascript



¿Cuándo usaría Sizzle directamente en lugar de jQuery? (4)

Soy un novato en Sizzle (biblioteca de selección de JavaScript), interesado en las siguientes preguntas.

  1. ¿Por qué uno usaría Sizzle en lugar de la biblioteca principal de jQuery?
  2. ¿Por qué Sizzle se dividió en un proyecto separado de jQuery?
  3. ¿Hay alguna función que se pueda aplicar a los selectores que no pueda alcanzar con la biblioteca principal de jQuery?

Sizzle.js es una biblioteca de JavaScript que implementa un "motor de selección de CSS diseñado para insertarse fácilmente en una biblioteca de host". jQuery lo usa internamente para sus necesidades de selección de CSS. Si quisieras un motor CSS y no necesitaras todos los otros beneficios de jQuery en JavaScript, podrías usar Sizzle.js por separado.


jQuery usa Sizzle para seleccionar elementos del DOM. Luego envuelve esta funcionalidad con manejo de eventos, AJAX, manipulación de DOM, animación y otras características, por lo que es un superconjunto de la funcionalidad Sizzle. Uno no necesariamente reemplaza al otro, pero jQuery aumenta el Sizzle.


sizzle está completamente incluido en jQuery. Es solo una parte de ella, también desarrollada por John Resig.

Si solo utilizas selectores, importa sizzlejs. Pero si usa otras funciones de jQuery, no hay razón para usar sizzle directamente. Sí, sería más rápido, pero los casos donde esta ganancia es notable son muy raros en una aplicación real: no hay ganancia neta si su código maneja un clic en 1 ms en lugar de 2 ms si su fuente es más compleja.


Sizzle es mucho más ligero que jQuery . jQuery es una completa biblioteca de manipulación de DOM y sizzle es solo un motor selector. jQuery es 80kb gzipped y minified. Sizzle es 50kb sin comprimir.

Sizzle generalmente se agrega a otras bibliotecas:

Un motor selector de CSS de JavaScript puro diseñado para introducirse fácilmente en una biblioteca de host.

jQuery es una biblioteca mucho más grande que hace manipulación de DOM, fachadas de AJAX y animaciones.

Sizzle es un componente de jQuery. jQuery lo usa cuando no hay selectores nativos de DOM disponibles o cuando se usan selectores que DOM no admite.

Aquí hay un perf ilustra la diferencia de velocidad. (Sizzle es un 34% más rápido en Chrome para estas pruebas)