JavaScript ShadowRoot.host — елемент-носій тіньового дерева


Властивість host повертає елемент, до якого прикріплена тінь — той, усередині якого вона живе.

автор: NagarD

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

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

host перестрибує цю межу: з нього вже можна читати атрибути компонента, знаходити його місце на сторінці й підніматись далі вгору по документу.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
host 53+ 63+ 10+ 40+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
host 53+ yes yes 10+

Приклади

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

Компонент читає власні атрибути зсередини тіні.

class MyWidget extends HTMLElement {
    connectedCallback() {
        const shadow = this.attachShadow({ mode: 'open' });
        shadow.innerHTML = '<p></p>';

        // з тіні назовні — до самого елемента
        const title = shadow.host.getAttribute('title');
        shadow.querySelector('p').textContent = title;

        console.log(shadow.host === this); // true
    }
}

customElements.define('my-widget', MyWidget);
автор: NagarD

Коментарі

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

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

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

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

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

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

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

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

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

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

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