JavaScript isConnected — чи вузол у документі


Властивість isConnected каже, чи вузол досі є в документі: true або false.

автор: NagarD

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

Видалений зі сторінки вузол не зникає — він живе в пам'яті, доки на нього хтось посилається. Тому асинхронний код цілком може дописати щось в елемент, якого на сторінці вже немає: запит повернувся, а користувач за цей час перейшов на іншу сторінку.

isConnected — найкоротший спосіб це помітити й нічого не робити даремно.

Раніше те саме писали як document.contains(node) — довше й менш очевидно.

автор: NagarD

Порада

Після кожного await у коді, що чіпає DOM, варто перевірити element.isConnected — за час запиту елемент могли прибрати.

автор: NagarD

Переглядачі

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

Приклади

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

Не чіпати елемент, якого вже немає на сторінці.

async function load(element) {
    const data = await fetch('/api/data').then(r => r.json());

    // за час запиту елемент могли прибрати зі сторінки
    if (!element.isConnected) {
        return;
    }

    element.textContent = data.title;
}

const node = document.createElement('div');
console.log(node.isConnected); // false — ще не в документі

document.body.append(node);
console.log(node.isConnected); // true
автор: NagarD

Коментарі

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

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

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

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

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

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

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

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

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

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

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