Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2011, 12:39
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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, поиск элементов, движок селекторов
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 06.05.2012 в 04:12.
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2011, 04:57
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Была исправлена серьезная ошибка
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2011, 06:35
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

line: 134 - 2-ка не лишняя?
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2011, 06:36
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от float
line: 134 - 2-ка не лишняя?
нет не лишняя, это для ИЕ который отдает ссылку в полном формате в зависимости от текущего домена, а не ту что указана в href, поэтому ему явно нужно указывать что нужна та что есть в теге
Ответить с цитированием
  #5 (permalink)  
Старый 27.12.2011, 06:52
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

нда... надо бы мне почаще на msdn заглядывать...
Ответить с цитированием
  #6 (permalink)  
Старый 27.12.2011, 06:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от float Посмотреть сообщение
нда... надо бы мне почаще на msdn заглядывать...
Ну мы туда смотрим как правило по необходимости, а сидеть изучать его нет времени и надобности
Ответить с цитированием
  #7 (permalink)  
Старый 27.12.2011, 12:50
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Добавил дополнительную реализацию
Ответить с цитированием
  #8 (permalink)  
Старый 27.12.2011, 14:26
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Никак не могу оставить ее в покое =)) На сегодня точно все, больше ничего исправлять не буду.
Ответить с цитированием
  #9 (permalink)  
Старый 27.12.2011, 19:10
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Круто. Только мало что понял
Ответить с цитированием
  #10 (permalink)  
Старый 27.12.2011, 19:15
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от FINoM
Круто. Только мало что понял
Вот-вот...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск