A slim alternative to jQuery's Sizzle

  • sektor

Downloads in past


1.1.57 years ago9 years agoMinified + gzip package size for sektor in KB


A slim alternative to jQuery's Sizzle1

Sektor has a smaller footprint than that of Sizzle1. Sektor is 836B3 minified and gzipped, vs the 7.01kB2 in Sizzle.
This is the selector engine used in Dominus4.
npm install sektor --save

bower install sektor --save
The public API exposed by sektor mirrors the API in Sizzle1. This means sektor is a drop-in replacement for Sizzle1.
Sektor has a few drawbacks when compared against Sizzle1. The following features are missing in sektor, but available in Sizzle1. If you want any of these, use Sizzle1 instead!
Missing features
Sektor lacks support for custom state-based selectors popularized by Sizzle, such as :visible, :first, and so on.
While Sizzle1 fixes a few cross-browser incompatibilities by providing their own full-blown selection engine, Sektor doesn't fix all of them. You can check the complete list of cross-browser incompatibilities Sizzle fixes in their source code6.
Sektor does correct the behavior in .querySelectorAll for context-rooted queries7.
Features I'm glad are missing
I consider these "features" bloat, and thus they aren't implemented in sektor.
  • Attribute not equal selector
  • Positional selectors (:first; :eq(n); :odd; etc.)
  • Type selectors (:input; :checkbox; :button; etc.)
  • :has(selector)
  • Complex negations :not(complex selector)
  • Adding custom selectors via Sizzle extensions
  • Reliable functionality on XML fragments
  • Matching against non-elements
  • Reliable sorting of disconnected nodes