├── .gitignore ├── .gitmodules ├── README.md ├── __COMPILED ├── CSS_selector_engine.ielt8.js └── CSS_selector_engine.js ├── __SRC └── CSS_selector_engine.js ├── speed ├── data │ ├── checkJava.js │ └── selector.html ├── domReady.js ├── frameworks │ ├── dojo.js │ ├── jquery-1.7.2.js │ ├── jquery-1.8.1.js │ ├── mootools-slick.js │ ├── nwmatcher.js │ ├── qwery.js │ └── sizzle.js ├── images │ ├── favicon.ico │ └── logo.png ├── index.html ├── require.js ├── selectors.css ├── selectors.large.css ├── selectors.small.css ├── speed.css ├── speed.js └── text.js └── test ├── data └── testinit.js ├── index.html ├── jquery.js └── unit ├── selector.js └── utilities.js /.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache 2 | .idea 3 | *.DS_Store 4 | *.swp 5 | .project 6 | .settings 7 | *.iml 8 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "test/qunit"] 2 | path = test/qunit 3 | url = https://github.com/jquery/qunit 4 | [submodule "speed/benchmark.js"] 5 | path = speed/benchmark.js 6 | url = git://github.com/bestiejs/benchmark.js.git 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Super fast css selector engine with CSS4 selector API support 2 | 3 | ## Goal 4 | 5 | - Support CSS3 as well as part of CSS4 selector API 6 | - Be lightweight 7 | - Be fastest 8 | - Be customizable 9 | - Optimised for IE < 8 10 | 11 | ## Shims 12 | 13 | - document.querySelector 14 | - document.querySelectorAll 15 | - document.getElementsByClassName for IE < 9 16 | - document.documentElement.querySelector 17 | - document.documentElement.querySelectorAll 18 | - document.documentElement.getElementsByClassName 19 | - document.documentElement.matchesSelector 20 | - document.documentElement.matches 21 | - Element.prototype.querySelector 22 | - Element.prototype.querySelectorAll 23 | - Element.prototype.getElementsByClassName for IE < 9 24 | - Element.prototype.matchesSelector 25 | - Element.prototype.matches 26 | 27 | ## CSS4 Supporting selectors 28 | 29 | ### Subject of a selector 30 | ```javascript 31 | document.querySelector("div! a[href*=twitter]");// div that has **a** element with _href_ attribute that contains "twitter" 32 | document.querySelectorAll("body footer! div");// NodeList:[footer], if