Узел: свойство firstChild
Базовая реализация Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Только для чтения firstChild свойство интерфейса Node возвращает первый дочерний узел в дереве или null, если у узла нет дочерних узлов.
Если узел является Document, это свойство возвращает первый узел в списке его непосредственных дочерних узлов.
Примечание: Это свойство возвращает любой тип узла, являющегося первым дочерним элементом. Это может быть узел Text или Comment. Если вам нужно получить первый Element, являющийся дочерним элементом другого элемента, используйте Element.firstElementChild.
Значение
A Node, или null если их нет.
Пример
В этом примере показано использование firstChild и то, как узлы с пробелами могут повлиять на использование этого свойства.
<p id="para-01">
<span>First span</span>
</p>
<script>
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);
</script>
В приведенном выше примере консоль отобразит '#text', так как вставлен узел текста для сохранения пробелов между концом открывающего <p> и <span> тегов. Любые пробелы создадут узел #text, от одного пробела до нескольких пробелов, символов возврата каретки, табуляции и т. д.
Другой #text узел вставляется между закрывающими </span> и </p> тегами.
Если эти пробелы удалить из исходного кода, узлы #text не вставляются, и элемент span становится первым дочерним элементом абзаца.
<p id="para-01"><span>First span</span></p>
<script>
const p01 = document.getElementById("para-01");
console.log(p01.firstChild.nodeName);
</script>
Теперь консоль отобразит 'SPAN'.
Чтобы избежать проблемы с node.firstChild возвращающим узлы #text или #comment, можно использовать Element.firstElementChild для возврата только первого узла элемента.
Спецификации
| Спецификация |
|---|
| DOM # ref-for-dom-node-firstchild① |
Совместимость с браузерами
| Десктопные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
firstChild |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Node/firstChild