Основные отличия от Sizzle - в два раза меньше размер обфусцированного файла, исходный так же присутствует. Все по максимуму прокомментировано на русском языке. Скорость работы внутреннего поиска не используя встроенный селектор в браузер, в среднем в полтора раза выше чем Sizzle. Почему сравниваю только Sizzle, потому что единственный селектор который сортирует элементы на выходе.
другие селекторы, такие как:
Mootools, Prototype, Dojo, DOMAssistant, jQuery( не Sizzle ), YASS и д.р. Не правильно сортируют элементы. Можете сами проверить.
тесты:
http://spb-piksel.ru/tests/speed/
http://spb-piksel.ru/tests/speed2/
Использование:
qsa.querySelectorAll(
string selector [,
node/nodeList context(s),
nodeList extra(s) ] );
qsa.querySelectorAll( "div + p > a" );
qsa.querySelectorAll( "div + p > a", document.getElemetById("myNode") );
qsa.querySelectorAll( "div + p > a", document.getElemetById("myNode"), [ elem1, elem2, elem3 ] );
Найдете ошибки, иль чего не то... сообщайте. СПС
1.2 - исправил ошибку при использовании объекта как наполняющего результат, происходило удаление совсем не того элемента. Так же добавил четвертый параметр noSort отключает сортировку результатов, увеличивается скорость поиска элементов, но при этом элементы не сортируются.
1.2.1 - Убрал зависания при неправильных селекторах.
1.2.2 - Не искал элементы с селектором:
style[type="text\\/css"] Исправлено.
1.2.3 - В Safari при сортировке элементов происходил сбой
Исправлено.
1.3 - Добавлен метод
matchesSelector.
GitHub:
https://github.com/devote/QSA
ссылка для скачивания:
http://code.spb-piksel.ru/?qsa.latest.zip
TAGS: CSS3 Selector, селектор, qsa, поиск элементов, движок селекторов