|
QSA CSS Selector Engine v1.0.1 - Выкладываю CSS-селектор по просьбе трудящихся
Основные отличия от 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, поиск элементов, движок селекторов |
Была исправлена серьезная ошибка
|
line: 134 - 2-ка не лишняя?
|
Цитата:
|
нда... надо бы мне почаще на msdn заглядывать...:)
|
Цитата:
|
Добавил дополнительную реализацию
|
Никак не могу оставить ее в покое =)) На сегодня точно все, больше ничего исправлять не буду.
|
Круто. Только мало что понял :D
|
Цитата:
|
Часовой пояс GMT +3, время: 02:48. |
|