Page 34 - jQuery для начинающих
P. 34
Таким образом, рассматривая выражение div#my, Sizzle найдёт вначале элемент с id="my",
а потом уже проверит на соответствие с div. Хорошо, это вроде как фильтрация, и она тоже
соблюдает очерёдность – это второй нюанс:
preFilter: {
"ATTR": function (match) { /* ... */ },
"CHILD": function (match) { /* ... */ },
"PSEUDO": function (match) { /* ... */ },
},
filter: {
"ID": function (id) { /* ... */ },
"TAG": function (nodeName) { /* ... */ },
"CLASS": function (className) { /* ... */ },
"ATTR": function (name, operator, check) { /* ... */ },
"CHILD": function (type, argument, first, last) { /* ... */ },
"PSEUDO": function (pseudo, argument, context, xml) { /* ... */ }
}
Третий нюанс – это относительные фильтры, которые работают сразу с двумя элементами
(они вам знакомы по CSS селекторам):
relative: {
">": { dir: "parentNode", first: true },
" ": { dir: "parentNode" },
"+": { dir: "previousSibling", first: true },
"~": { dir: "previousSibling" }
},
Ой, зачем я вас всем этим гружу? Почитайте лучше об оптимизации запросов
абзацем ниже.
Официальная документация по библиотеки Sizzle доступна на GitHub'е проекта:
— «Sizzle Documentation»
[https://github.com/jquery/sizzle/wiki/Sizzle-Documentation]
34
www.trk.kg