CSS селектор :scope — точка відліку в querySelector


CSS псевдоклас :scope позначає точку відліку селектора.

автор: NagarD

Загальний опис

Найкорисніший він у JavaScript. Виклик element.querySelectorAll('> li') — помилка, бо селектор не може починатися з комбінатора. А element.querySelectorAll(':scope > li') працює й означає «прямі діти саме цього елемента».

У звичайному CSS :scope дорівнює :root, тобто елементу <html>.

автор: NagarD

Порада

Це єдиний спосіб знайти через querySelectorAll прямих дітей елемента, не зачепивши глибших нащадків.

автор: NagarD

Синтаксис

:scope

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
scope 27+ 32+ 7+ 15+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
scope 4.4+ yes yes 7+

Приклади

+ запропонувати свій приклад у пісочниці

Тільки прямі діти списку, без вкладених.

HTML

<ul id="menu">
    <li>Пункт 1
        <ul><li>Вкладений — не потрапить</li></ul>
    </li>
    <li>Пункт 2</li>
</ul>

JS

const menu = document.getElementById('menu');
const top = menu.querySelectorAll(':scope > li');

console.log(top.length); // 2, а не 3
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід