Awesome
A slim alternative to jQuery's Sizzle
Sektor has a smaller footprint than that of Sizzle. <span>Sektor is 836B</span> minified and gzipped, vs <span>the 7.01kB in Sizzle</span>.
This is the selector engine used in Dominus.
Install
npm install sektor --save
bower install sektor --save
Usage
The public API exposed by sektor
mirrors the API in Sizzle. This means sektor
is a drop-in replacement for Sizzle.
Drawbacks
Sektor has a few drawbacks when compared against Sizzle. The following features are missing in sektor
, but available in Sizzle. If you want any of these, use Sizzle instead!
Missing features
Sektor lacks support for custom state-based selectors popularized by Sizzle, such as :visible
, :first
, and so on.
While Sizzle 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 code.
Sektor does correct the behavior in .querySelectorAll
for context-rooted queries.
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
License
MIT