JavaScript firstChild — перший дочірній вузол
Властивість firstChild повертає перший дочірній вузол — будь-якого типу.
Загальний опис
У розмітці, записаній у кілька рядків, першим вузлом майже завжди виявляється перенос рядка, а не теґ. Тому list.firstChild частіше за все — це текстовий вузол із пробілами, і спроба звернутись до його classList кине помилку.
Потрібен саме перший елемент — бери firstElementChild.
- Порада
-
Слово Element у назві — і є той запобіжник, що відсіює пробіли. Забув його — отримав текстовий вузол.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| firstChild | 1+ | 1+ | 1+ | 7+ | 12+ | 9+ |
| Переглядач | ||||
|---|---|---|---|---|
| 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
Коментарі
Коментарів ще немає — будьте першим!