Свойство firstChild хранит первого потомка данного элемента. Потомками являются не только элементы, но и просто текст, и комментарий HTML.

Если у элемента нет дочерних элементов - возвращается null.

См. похожее свойство firstElementChild, которое также содержит первого потомка, но комментарии и текст не учитываются.

Синтаксис

элемент.firstChild

Примеры

Пример

Давайте попробуем получить содержимое первого потомка элемента с id, равным 'parent'. Нас будет ждать подвох.

Суть подвоха: первый элемент из #parent - это абзац. Однако firstChild содержит не только элементы, но и текст (в том числе и пробельные символы, которые находится между тегами). Поэтому, если попробовать прочитать свойство innerHTML для первого потомка - мы увидим undefined, так как был получен текстовый узел, у которого нет свойства innerHTML:

<div id="parent">
	<p>Первый элемент</p>
	<div>Последний элемент</div>
</div>
var parent = document.getElementById('parent');
document.write(parent.firstChild.innerHTML);

Результат выполнения кода:

undefined

Пример

Давайте уберем все пробелы и отступы - результат будет совсем другим:

<div id="parent"><p>Первый элемент</p><div>Второй элемент</div></div>
var parent = document.getElementById('parent');
document.write(parent.firstChild.innerHTML);

Результат выполнения кода:

Первый элемент