Выразительный JavaScript (Хавербеке) - страница 138

>p.a.b#main {

>  margin-bottom: 20px;

>}

Приоритет самых поздних правил работает, когда у правил одинаковая детализация. Это мера того, насколько точно оно описывает подходящие элементы, определяемая числом и видом необходимых аспектов элементов. К примеру, правило для >p.a более детально, чем правила для >p или просто >.a, и будет иметь приоритет.

Запись >p > a {...} применима ко всем тегам >, находящимся внутри тега >

и являющимся его прямыми потомками. >p a {...} применимо также ко всем тегам > внутри >

, при этом неважно, является ли > прямым потомком или нет.

В этой книге мы не будем часто использовать таблицы стилей. Понимание их работы критично для программирования в браузере, но подробное разъяснение всех их свойств заняло бы 2-3 книги. Главная причина знакомства с ними и с синтаксисом селекторов (записей, определяющих, к каким элементам относятся правила) – мы можем использовать тот же эффективный мини-язык для поиска элементов DOM.

Метод >querySelectorAll, существующий и у объекта >document, и у элементов-узлов, принимает строку селектора и возвращает массивоподобный объект, содержащий все элементы, подходящие под него.

>

Люблю грозу в начале

>  мая

>

Когда весенний первый гром

>

Как бы резвяся

>  и играя

>

Грохочет в небе голубом.


>

В отличие от методов вроде >getElementsByTagName, возвращаемый >querySelectorAll объект не интерактивный. Он не изменится, если вы измените документ.

Метод >querySelector (без >All) работает сходным образом. Он нужен, если вам необходим один конкретный элемент. Он вернёт только первое совпадение, или >null, если совпадений нет.