Псевдокласс :has в jQuery

Псевдокласс has выбирает элементы по их содержимому. Рассмотрим пример. Пусть у нас есть следующий HTML код:

<p>text with <b>b</b> tag</p> <p>text with <i><b>b</b></i> tag</p> <p>text</p>

К примеру, выберем все абзацы, внутри которых есть теги b:

$('p:has(b)');

Обратите внимание на то, что в примере выберется как первый абзац, так и второй, не смотря на то, что во втором абзаце тег b не лежит непосредственно внутри p, а лежит сначала в i.

Если же вам нужна непосредственная вложенность, то следует сделать так:

$('p:has(>b)');

В этом случае будет выбран только первый абзац.

Получите и покрасьте в красный цвет все h2, внутри которых есть тег i.

Получите и покрасьте в красный цвет все h2, которые непосредственно содержат тег i.



Чат с GPT Компилятор