Селектар has

Селектар :has выбірае элементы, якія змяшчаюць хаця б адзін элемент па зададзеным селектары, неабавязкова непасрэднага нашчадка. Так як :has не адносіцца да CSS спецыфікацыі, то для паляпшэння прадукцыйнасці ў сучасных браўзерах лепш замест яго выкарыстоўваць $("ваш css-селектар").has(селектар/DOM элемент).

Сінтаксіс

Так мы выбіраем элементы:

javascript$(':has(селектар)');

Так мы выбіраем элементы, калі патрэбна непасрэдная ўкладзенасць селектара:

javascript$(':has(>селектар)');

Прыклад

Давайце выбяром толькі тыя абзацы, у якіх унутры ёсць тэг b і паставім ім у канец тэкст '!!!':

html<p>text</p>
<p>text</p>
<p><b>bold</b> text</p>
<p><b>bold</b> text</p>
javascript$('p:has(b)').append('!!!');

HTML код стане выглядаць так:

html<p>text</p>
<p>text</p>
<p><b>bold</b> text!!!</p>
<p><b>bold</b> text!!!</p>

Глядзіце таксама

  • метад has,
    які фільтруе набор выбраных элементаў па нашчадках
  • метад filter,
    які фільтруе элементы ў наборы па зададзеным селектары