15. Введение в jQuery
Создание обёрнутого набора
|
Обёрнутые наборы (обертки) можно создавать при помощи селекторов, отбирая элементы из DOM-дерева страницы. Кроме того, можно построить обёртку, задав в качестве аргумента функции $ фрагмент HTML-кода. В последнем случае обертка не будет связана с HTML-страницей, но её можно вставить в DOM-дерево документа специальными методами обертки. |
В качестве селектора jQuery можно использовать селекторы стандартов CSS1, CSS2 и даже CSS3. При этом не надо переживать, что стандартные селекторы поддерживаются браузерами не полностью — все проблемы с браузерами библиотека решает сама.
Вот несколько простых CSS-селекторов:
Пример селектора | Что войдёт в обёртку |
---|---|
$("a") | Все гиперссылки страницы |
$("div.panel") | Все элементы DIV с классом panel |
$(".mess") | Все элементы с классом mess |
$("#header") | Элемент с идентификатором header. Идентификаторы на странице уникальны, поэтому в обернутом наборе будет только один элемент. |
$("em, .mark") | Все элементы EM и элементы с классом mark |
$("p em") | Все элементы EM расположенные внутри абзацев |
$(".q p.f em") | Все элементам EM, которые вложены в абзацы с классом f, которые, в свою очередь, являются потомками элемента с классом q. |
Более сложные CSS-селекторы:
Пример селектора | Что войдёт в обёртку |
---|---|
$('p > a') | Все ссылки, которые являются прямыми потомками абзацев |
$('table + p') | Все абзацы, которые следуют непосредственно за таблицами (селектор сестринских элементов) |
$('img.p[alt]') | Все картинки с классом p, у которых есть атрибут alt |
Все внешние ссылки (те, которые начинаются с http://) |
Кроме селекторов CSS библиотека поддерживает собственный набор интересных селекторов. Вот примеры некоторых из них:
Пример селектора | Что войдёт в обёртку |
---|---|
$('ul#list li:even') | Все четные элементы списка с идентификатором list (:even — четные элементы :odd — нечетные элементы) |
Четные строки всех таблиц. Конструкция :nth-child(even|odd) выбирает четные (even) или нечетные (odd) дочерние элементы | |
$("div#content a:visible") | Все видимые ссылки внутри DIV с id="content" (:visible — видимые элементы) |
Аргумент функции $ может содержать фрагмент HTML-кода. В этом случае jQuery создает обернутый фрагмент DOM-дерева, с которым можно работать как с обычным обернутым набором, полученным при помощи селектора. Вставить созданный фрагмент в DOM-дерево страницы можно, например, при помощи метода appendTo:
$("<P>Новый абзац</P>").appendTo("#last")
В этом фрагменте создается абзац который вставляется на страницу в качестве дополнения содержимого элемента с идентификатором last.
Обернутые наборы можно дополнять (команда add), фильтровать (команда filter), выделять подмножество (команда slice).
Из обернутого набора можно удалять элементы (команда not), получать выборку с учетом взаимоотношений элементов (команды children, contens, next, nextAll, parents, prev, prevAll, siblings).
В обернутом наборе можно выполнять поиск (команда find), получая новый набор из результатов поиска.