JavaScript. Подробное руководство, 6-е издание, стр. 325
19.8.1.1. Простые селекторы
Простой селектор начинается (явно или неявно) с имени тега. Если, к примеруг интерес представляют только элементы
<b><р>,</b>Имя тега или шаблонный символ определяют начальное множество элементов документа, кандидатов на выбор. Фрагмент селектора, следующий за определением имени тега, состоит из нуля или более фильтров. Фильтры применяются слева направо, в порядке их следования, и каждый из них сужает множество выбранных элементов. Фильтры, поддерживаемые библиотекой jQuery, см. в табл. 19.1.
Обратите внимание, что некоторые из фильтров, перечисленных в табл. 19.1, принимают аргументы в круглых скобках. Следующий селектор, например, выберет абзацы, которые являются первыми или каждыми третьими дочерними элементами своих родителей при условии, что они содержат слово «JavaScript» и не содержат элемент
<b><а></b><b>p:nth-child(3n+1):text(JavaScript):not(:has(a))</b>Обычно фильтры действуют более эффективно, если им предшествует имя тега. Например, вместо использования простого фильтра «:radio» для выбора радиокнопок лучше использовать селектор «input:radio». Исключение составляют фильтры, проверяющие значение атрибута
<b>id</b>






19.8.1.2. Комбинированные селекторы
Простые селекторы могут объединяться с использованием специальных операторов, или «комбинаторов», для представления отношений между элементами в дереве документа. В табл. 19.2 перечислены комбинированные селекторы, поддерживаемые библиотекой jQuery. Эти же комбинированные селекторы поддерживаются стандартом CSS3.
Ниже приводится несколько примеров комбинированных селекторов:
<b>"blockquote і" // Соответствует элементу <і> в элементе <blockquote></b><b>"ol > li" // Элемент <li>, прямой потомок элемента <ol></b><b>"#output + *" // Братские элементы, следующие за элементом с id="output"</b><b>"div.note > hi + р" // Элемент <р>, следующий за <h1> в <div class="note"></b>Обратите внимание, что комбинированные селекторы не ограничены комбинациями из двух селекторов: допустимыми являются также комбинации из трех и более селекторов. Обработка комбинированных селекторов выполняется слева направо.

19.8.1.3. Группы селекторов
Группа селекторов, которая является разновидностью селекторов, передаваемых функции
<b>$()</b><b>"h1, h2, h3" // Соответствует элементам <h1>, <h2> и <h3></b><b>"#р1, #р2, #р3” // Соответствует элементам с id, равным р1, р2 и р3</b><b>"div.note, p.note" // Соответствует элементам <div> и <р> с class="note"</b><b>"body>p,div.note>p" // <p>, вложенный в <body>, и <div class="note"></b>Обратите внимание, что синтаксис селекторов CSS и jQuery позволяет использовать круглые скобки в некоторых фильтрах в простых селекторах, но не допускает более обобщенного их использования для группировки селекторов. Нельзя поместить группу селекторов или комбинированный селектор в скобки и интерпре тировать их как простой селектор, например:
<b>(hi. h2, h3)+p // Недопустимо</b><b>h1+p, h2+p, h3+p // Следует использовать этот вариант</b>19.8.2. Методы выбора
В дополнение к грамматике селекторов, поддерживаемой функцией
<b>$()</b>В данном разделе описываются эти методы выбора. Здесь вы увидите, что многие методы реализуют те же функциональные возможности, которые обеспечивает грамматика селекторов.
Самой простой является операция фильтрации выбора по позициям элементов в выбранном множестве. Метод
<b>first()</b><b>jQuery</b><b>last()</b><b>jQuery</b><b>eq()</b><b>jQuery</b><b>jQuery</b><b>jQuery</b>