aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/node/firstchild/index.html
blob: 8b34ff1470c59e22a4e64ef1d6573c2e8f8cce03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
title: Node.firstChild
slug: Web/API/Node/firstChild
translation_of: Web/API/Node/firstChild
---
<div>
<div>{{APIRef("DOM")}}</div>
</div>

<p>Свойство <code><strong>Node.firstChild</strong></code> только для чтения, возвращающее первый потомок узла в древе или <code>null</code>, если узел является бездетным. Если узел это <code>документ</code>, он возвращает первый узел в списке своих прямых детей.</p>

<h2 id="Syntax">Синтаксис</h2>

<pre class="syntaxbox"><em>var childNode</em> = <em>node</em>.firstChild;
</pre>

<h2 id="Описание">Описание</h2>

<p><code>childNode</code> это ссылка на первый потомок <code>node,</code> если таковой имеется, в противном случае это <code>null</code>.</p>

<h2 id="Example">Пример</h2>

<p>Этот пример демонстрирует использование <code>firstChild</code> и как этому свойству могут мешать пробелы. Смотрите раздел {{ Anch("Notes") }} для получения дополнительной информации о обработке пробелов в Gecko DOM.</p>

<pre class="brush:html">&lt;p id="para-01"&gt;
  &lt;span&gt;First span&lt;/span&gt;
&lt;/p&gt;

&lt;script type="text/javascript"&gt;
  var p01 = document.getElementById('para-01');
  alert(p01.firstChild.nodeName)
&lt;/script&gt;</pre>

<p>В данном примере alert выведет '#text', потому что текстовый узел вставлен для сохранения пробела между концом открытого &lt;p&gt; и тега &lt;span&gt;. <strong>Любое </strong>пустое пространство между элементами является причиной вставки узла #text, начиная от единичного пробела, разрыва строки, отступа и так далее.</p>

<p>Другой #text узел вставляется между закрывающими тегами &lt;/span&gt; и &lt;/p&gt;.</p>

<p>Если эти пробелы удаляются из источника,  #text узлы не вставляются и элемент span становится первым потомком абзаца.</p>

<pre class="brush:html">&lt;p id="para-01"&gt;&lt;span&gt;First span&lt;/span&gt;&lt;/p&gt;

&lt;script type="text/javascript"&gt;
  var p01 = document.getElementById('para-01');
  alert(p01.firstChild.nodeName)
&lt;/script&gt;
</pre>

<p>Теперь alert будет показывать 'SPAN'.</p>

<h2 id="Specification">Спецификации</h2>

<ul>
 <li><a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#attribute-firstChild">DOM Level 1 Core: firstChild</a></li>
 <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-169727388">DOM Level 2 Core: firstChild</a></li>
</ul>