JavaScript firstChild — перший дочірній вузол


Властивість firstChild повертає перший дочірній вузол — будь-якого типу.

автор: NagarD

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

У розмітці, записаній у кілька рядків, першим вузлом майже завжди виявляється перенос рядка, а не теґ. Тому list.firstChild частіше за все — це текстовий вузол із пробілами, і спроба звернутись до його classList кине помилку.

Потрібен саме перший елемент — бери firstElementChild.

автор: NagarD

Порада

Слово Element у назві — і є той запобіжник, що відсіює пробіли. Забув його — отримав текстовий вузол.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
firstChild 1+ 1+ 1+ 7+ 12+ 9+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
firstChild yes yes yes yes

Приклади

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

Перший вузол — це перенос рядка, а не перший теґ.

HTML

<ul id="list">
    <li>Перший</li>
</ul>

JS

const list = document.getElementById('list');

console.log(list.firstChild.nodeType);        // 3 — текст!
console.log(list.firstElementChild.nodeType); // 1 — елемент

console.log(list.firstElementChild.textContent); // 'Перший'

// типова помилка:
// list.firstChild.classList.add('active'); → TypeError
автор: NagarD

Коментарі

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

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

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

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

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

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

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

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

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

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

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