diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/api/node | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/ru/web/api/node')
36 files changed, 2923 insertions, 0 deletions
diff --git a/files/ru/web/api/node/appendchild/index.html b/files/ru/web/api/node/appendchild/index.html new file mode 100644 index 0000000000..50af4e38da --- /dev/null +++ b/files/ru/web/api/node/appendchild/index.html @@ -0,0 +1,60 @@ +--- +title: Node.appendChild +slug: Web/API/Node/appendChild +tags: + - API + - DOM + - DOM Element Mehods + - Method + - WebAPI +translation_of: Web/API/Node/appendChild +--- +<h2 id="Summary" name="Summary">Аннотация</h2> + +<p><code><strong>Node.appendChild()</strong></code> добавляет узел в конец списка дочерних элементов указанного родительского узла. Если данный дочерний элемент является ссылкой на существующий узел в документе, то функция <code>appendChild()</code> перемещает его из текущей позиции в новую позицию (нет необходимости удалять узел из родительского узла перед добавлением его к какому-либо другому узлу).</p> + +<p>Это означает, что узел не может находиться в двух точках документа одновременно. Поэтому, если у узла уже есть родитель, он сначала удаляется, а затем добавляется в новую позицию. {{domxref("Node.cloneNode()")}} можно использовать для создания копии узла перед добавлением его в новый родительский элемент. Обратите внимание, что копии, сделанные с помощью <code>cloneNode</code> , не будут автоматически синхронизироваться.</p> + +<p>Если данный дочерний элемент является {{domxref("DocumentFragment")}}, то все содержимое {{domxref("DocumentFragment")}} перемещается в дочерний список указанного родительского узла.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox notranslate">var child = <em>element</em>.appendChild(<em>child</em>);</pre> + +<ul> + <li><code>element</code> родительский <a href="/en-US/docs/DOM/element" title="/en-US/docs/DOM/element">элемент</a>.</li> + <li><code>child</code> это элемент вставляется в конец <code>element</code>.</li> +</ul> + +<h3 id="Returns" name="Returns">Возвращаемое значение</h3> + +<p>Возвращается дочерний элемент (<code><var>aChild</var></code>), кроме тех случаев, когда <code><var>child</var></code> это {{domxref("DocumentFragment")}}, в таком случае возвращается пустой {{domxref("DocumentFragment")}}.</p> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p>Цепочка может работать не так, как ожидалось, из-за того, что <code>appendChild()</code> возвращает дочерний элемент:</p> + +<pre class="brush: js notranslate">let aBlock = document.createElement('block').appendChild( document.createElement('b') );</pre> + +<p>Присваивает переменной <code>aBlock</code> элемент <code><b></b></code>, а не <code><block></block></code>, как вы могли ожидать.</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js notranslate">// Создаем новый элемент параграфа, и вставляем в конец document body +var p = document.createElement("p"); +document.body.appendChild(p);</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-184E7107" title="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-184E7107">DOM Level 3 Core: appendChild</a></li> +</ul> + +<h2 id="See_also" name="See_also">См. также</h2> + +<ul> + <li>{{domxref("Node.removeChild")}}</li> + <li>{{domxref("Node.replaceChild")}}</li> + <li>{{domxref("Node.insertBefore")}}</li> + <li>{{domxref("Node.hasChildNodes")}}</li> +</ul> diff --git a/files/ru/web/api/node/baseuri/index.html b/files/ru/web/api/node/baseuri/index.html new file mode 100644 index 0000000000..fad808069b --- /dev/null +++ b/files/ru/web/api/node/baseuri/index.html @@ -0,0 +1,62 @@ +--- +title: Node.baseURI +slug: Web/API/Node/baseURI +translation_of: Web/API/Node/baseURI +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p> Свойство <code><strong>Node.baseURI</strong></code> только для чтения, возвращающее абсолютный базовый URL узла.</p> + +<p>Базовый URL используется для <a href="http://developers.whatwg.org/urls.html#resolving-urls">разрешения</a> относительных URLs, когда браузеру нужно получить абсолютный URL, например, когда обрабатывает элемент HTML {{HTMLElement("img")}}, <code>src</code> атрибут или XML <code><a href="/en-US/docs/XLink">xlink</a>:href</code> атрибут.</p> + +<p>В самом простом случае, базовывый URL это просто местонахождение документа, но это может зависеть от многих факторов, включая элемент {{HTMLElement("base")}} в HTML и атрибут <code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> в XML.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <em>baseURI</em> = <em>node</em>.baseURI; +</pre> + +<ul> + <li><code>baseURI</code> это {{ domxref("DOMString") }} представляющий базовый URL обусловленный {{domxref("Node")}}. Может быть <code>null</code> если не удалось получить абсолютный URI</li> + <li><code><em>node</em>.baseURI</code> только для чтения.</li> + <li><code><em>node</em>.baseURI</code> может измениться со временем (с.м. ниже).</li> +</ul> + +<h2 id="Details" name="Details">Подробности</h2> + +<h3 id="Базовый_URL_документа">Базовый URL документа</h3> + +<p>Базовый URL <em>документа</em> по умолчанию, адрес документа (как отображено в браузере и доступно в {{domxref("window.location")}}), но может измениться по умолчанию:</p> + +<ul> + <li>Когда HTML {{HTMLElement("base")}} тег найден в документе;</li> + <li>Когда этот новый документ создан динамически.</li> +</ul> + +<p>Смотрите <a href="http://developers.whatwg.org/urls.html#base-urls">Раздел базовый URLs в действующем стандарте HTML</a> для уточнения деталей.</p> + +<p>Вы можите использовать <code><em>{{domxref("document")}}</em>.baseURI</code> для получения базового URL документа. Заметим, что получение базового URL для документа, может возвращать различные URLs в течение долгого времени, если {{HTMLElement("base")}} теги или местонахождение документа изменилось.</p> + +<h3 id="Базовый_URL_элемента">Базовый URL элемента</h3> + +<p>Базовый URL <em>элемента</em> в HTML обычно равен базовому URL документу узла.</p> + +<p>Если документ содержит атрибуты <code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> (которые вы не должны использовать в документах HTML), <code><em>element</em>.baseURI</code> принимает во внимание <code>xml:base</code> атрибуты родительского элемента, когда вычисляет базовый URL. Для уточнения деталей смотрите <a href="/en-US/docs/XML/xml:base">xml:base</a>.</p> + +<p>Вы можите использовать <code><em>{{domxref("element")}}</em>.baseURI</code> для получения базового URL of элемента.</p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li>{{spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI","DOM Level 3 Core: baseURI","REC")}}</li> +</ul> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>{{HTMLElement("base")}} element (HTML)</li> + <li><code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> атрибуты (XML документы).</li> + <li>{{domxref("Node.baseURIObject")}} - вариант этого API для Mozilla дополнений и внутреннего кода. Возвращает базовый URL как {{interface("nsIURI")}}.</li> +</ul> diff --git a/files/ru/web/api/node/baseuriobject/index.html b/files/ru/web/api/node/baseuriobject/index.html new file mode 100644 index 0000000000..b4d34efb85 --- /dev/null +++ b/files/ru/web/api/node/baseuriobject/index.html @@ -0,0 +1,25 @@ +--- +title: Node.baseURIObject +slug: Web/API/Node/baseURIObject +translation_of: Web/API/Node +--- +<div>{{APIRef("DOM")}} {{Non-standard_header}}</div> + +<p>Свойство <code><strong>Node.baseURIObject</strong></code> возвращает {{Interface("nsIURI")}} представляющий базовый URL узла (обычно документ или элемент). Это похоже на {{domxref("Node.baseURI")}}, за исключением того, что возвращает nsIURI вместо строки.</p> + +<p>Это свойство существует на всех узлах (HTML, XUL, SVG, MathML, и т.д.), но только если скрипт пытается использовать его имея привилегии UniversalXPConnect.</p> + +<p>Смотрите {{domxref("Node.baseURI")}} для уточнения деталей что такое базовый URL.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>uriObj</var> = <em>node</em>.baseURIObject +</pre> + +<h2 id="Notes" name="Notes">Примечания</h2> + +<p>Это свойство только для чтения; попытка записать информацию в него, будет сбрасывать исключения. <span id="result_box" lang="ru"><span class="hps">Кроме того,</span> <span class="hps">это свойство может</span> <span class="hps">быть</span> <span class="hps">доступно только для</span> <span class="hps">привилегированного</span> <span class="hps">кода.</span></span></p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<p>Нет какой-либо спецификации.</p> diff --git a/files/ru/web/api/node/childnodes/index.html b/files/ru/web/api/node/childnodes/index.html new file mode 100644 index 0000000000..f66b7060b8 --- /dev/null +++ b/files/ru/web/api/node/childnodes/index.html @@ -0,0 +1,68 @@ +--- +title: Node.childNodes +slug: Web/API/Node/childNodes +translation_of: Web/API/Node/childNodes +--- +<div> +<div>{{APIRef("DOM")}}</div> + +<div><code><font face="Open Sans, sans-serif">Доступный для чтения аттрибут </font><strong>Node.childNodes</strong></code> возвращает <em>коллекцию</em> дочерних элементов данного элемента.</div> +</div> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <var>ndList</var> = elementNodeReference.childNodes; +</pre> + +<p><var>ndList</var> -- упорядоченная коллекция объектов элементов, которые являются детьми данного элемента. Если у элемента нет детей, <var>ndList </var>пуст.</p> + +<p><var>ndList</var> -- переменная, хранящая список дочерних элементов. Тип этого списка -- {{domxref("NodeList")}}.</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">// parg -- ссылка на элемент <p> + +if (parg.hasChildNodes()) { + // Таким образом, сначала мы проверям, не пуст ли объект, есть ли у него дети + var children = parg.childNodes; + + for (var i = 0; i < children.length; ++i) { + // сделать что-то с каждым внутренним элементом через children[i] + // ЗАМЕТКА: Список является ссылкой, Добавление или удаление дочерних элементов изменит список + } +}</pre> + +<hr> +<pre class="brush:js">// Это один из способов удалить все дочерние элементы из элемента +// box -- ссылка на элемент с детьми + +while (box.firstChild) { + //Список является ссылкой, то есть он будет переиндексирован перед каждым вызовом + box.removeChild(box.firstChild); +}</pre> + +<h2 id="Notes" name="Notes">Заметки</h2> + +<p>Элементы в коллекции -- объекты, а не строки. Чтобы получить данные из этих объектов, вы должны использовать их свойства (например, <code>elementNodeReference.childNodes[1].nodeName</code> чтобы получить имя, и т. д.).</p> + +<p>Объект <code>document</code> обладает 2-мя детьми: декларацией Doctype и корневым элементов, к которому как правило обращаются как <code>documentElement</code>. (В (X)HTML документах это HTML-элемент.)</p> + +<p><code>childNodes</code> также включают, например, текстовые узлы и комментарии. Чтобы пропустить их, используйте {{ domxref("ParentNode.children") }} взамен.</p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1451460987">W3C DOM 2 Core: childNodes</a></li> + <li><a class="external" href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1451460987">W3C DOM 3 Core: childNodes</a></li> + <li><a class="external" href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-536297177">W3C DOM 3 NodeList interface</a></li> +</ul> + +<h2 id="See_also" name="See_also">См. также</h2> + +<ul> + <li>{{ domxref("Node.firstChild") }}</li> + <li>{{ domxref("Node.lastChild") }}</li> + <li>{{ domxref("Node.nextSibling") }}</li> + <li>{{ domxref("Node.previousSibling") }}</li> + <li>{{ domxref("ParentNode.children") }}</li> +</ul> diff --git a/files/ru/web/api/node/clonenode/index.html b/files/ru/web/api/node/clonenode/index.html new file mode 100644 index 0000000000..5f1f77d5ed --- /dev/null +++ b/files/ru/web/api/node/clonenode/index.html @@ -0,0 +1,135 @@ +--- +title: Node.cloneNode() +slug: Web/API/Node/cloneNode +translation_of: Web/API/Node/cloneNode +--- +<div>{{APIRef("DOM")}}</div> + +<p>Метод <strong><code>Node.cloneNode()</code></strong> возвращает дубликат узла, из которого этот метод был вызван.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <em><var>dupNode</var></em> = <em><var>node</var></em>.cloneNode(<em><var>deep</var></em>); +</pre> + +<dl> + <dt><em>node</em></dt> + <dd>Узел, который будет клонирован.</dd> + <dt><em>dupNode</em></dt> + <dd>Новый узел, который будет клоном <code>node</code></dd> + <dt><em>deep {{optional_inline}}</em></dt> + <dd><code>true,</code> если дети узла должны быть клонированы или <code>false</code> для того, чтобы был клонирован только указанный узел.</dd> +</dl> + +<div class="note"> +<p><strong>Примечание:</strong> в спецификации DOM4 (как реализовано в Gecko 13.0 {{geckoRelease(13)}}), <code>deep</code> необязательный аргумент. Если он опущен, метод действует как если бы значение <code>deep</code> было <strong><code>true</code></strong>, по умолчанию используется глубокое клонирование. Для создания поверхностного клонирования, <code>deep</code> должен быть установлен как <code>false</code>.</p> + +<p>Это поведение было изменено в последней спецификации, и если опущено значение, метод будет действовать как если бы <code>deep</code> было <strong><code>false</code></strong>. Хотя, это все еще не обязательно, вы всегда должны обеспечить агрументом <code>deep</code>, для прямой и обратной совместимости. С Gecko 28.0 {{geckoRelease(28)}}), консоль предупреждает разработчиков не опускать аргумент. Начиная с Gecko 29.0 {{geckoRelease(29)}}), поверхностный клон, по умолчанию, вместо глубокого клона.</p> +</div> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush: js"> var p = document.getElementById("para1"); + var p_prime = p.cloneNode(true); +</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p id="not-event-listeners">Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует пререхватчики событий, добавленных используя <a href="/en-US/docs/DOM/element.addEventListener" title="/en-US/docs/DOM/element.addEventListener"><code>addEventListener()</code></a> или тех что назначены через свойства элемента (т.е <code>node.onclick = fn</code>).</p> + +<p>Дубликат узла, возвращенного <code>cloneNode()</code> не является частью документа, пока не будет добавлен в другой узел, который является частью документа, используя {{domxref("Node.appendChild()")}} или другой метод. Кроме того, не имеет родителя, пока не будет добавлен к другому узлу.</p> + +<p><code>Если deep</code> установлен как <code>false</code>, дочерние узлы не клонируются. Любой текст, который содержит узел также не клонируется, как и содержащийся в одном или более дочернем узле {{domxref("Text")}}.</p> + +<p>Если <code>deep</code> установлено как <code>true</code>, все поддеревья (включая текст, который может быть потомком узла {{domxref("Text")}}) копируется тоже. Для пустых узлов (т.е {{HTMLElement("img")}} и {{HTMLElement("input")}} элементов) это не имеет значения установлен ли <code>deep</code> как <code>true</code> или <code>false</code>.</p> + +<div class="warning"><strong>Внимание:</strong> <code>cloneNode()</code> может привести к дублированию идентфикаторов элементов в документе.</div> + +<p>Если исходный узел имеет идентификатор и клон размещен в том же документе, идентификатор должен быть изменен, для того что бы быть уникальным. Имя атрибута также может нуждаться в изменении, <span id="result_box" lang="ru"><span>в зависимости</span> <span class="hps">от</span></span> будущего имени дубликата.</p> + +<p>Чтобы клонировать узел для добавления к другому документу используйте {{domxref("Document.importNode()")}} вместо этого.</p> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>deep</code> как необязательный параметр</td> + <td> + <p>Yes</p> + + <p>(По умолчанию <code>false</code>)</p> + </td> + <td>{{CompatGeckoDesktop("13.0")}}</td> + <td><span style="font-size: 12px; line-height: 18px;">{{CompatVersionUnknown}}</span></td> + <td>{{CompatUnknown}}</td> + <td> + <p>Yes</p> + + <p>(По умолчанию <code>false</code>)</p> + </td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>deep</code> как необязательный параметр</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("13.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Спецификации">Спецификации</h2> + +<ul> + <li>{{Spec("http://w3.org/TR/DOM-Level-2-Core/core.html#ID-3A0ED0A4","DOM Level 2 Core: cloneNode","REC")}}</li> + <li>{{Spec("http://w3.org/TR/DOM-Level-3-Core/core.html#ID-3A0ED0A4","DOM Level 3 Core: cloneNode","REC")}}</li> + <li><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-clonenode" title="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-clonenode">DOM4: cloneNode</a> (черновик)</li> +</ul> diff --git a/files/ru/web/api/node/comparedocumentposition/index.html b/files/ru/web/api/node/comparedocumentposition/index.html new file mode 100644 index 0000000000..0be1dac540 --- /dev/null +++ b/files/ru/web/api/node/comparedocumentposition/index.html @@ -0,0 +1,89 @@ +--- +title: Node.compareDocumentPosition +slug: Web/API/Node/compareDocumentPosition +translation_of: Web/API/Node/compareDocumentPosition +--- +<p>{{ ApiRef() }}</p> +<h2 id="Summary" name="Summary">Аннотация</h2> +<p>Сравнивает позицию текущего узла и другого узла в любом другом документе.</p> +<h2 id="Syntax" name="Syntax">Синтаксис</h2> +<pre class="syntaxbox">node.compareDocumentPosition( otherNode ) +</pre> +<ul> + <li><code>node</code> это узел, который сравнивается</li> + <li><code>otherNode</code> это узел, с которым идет сравнение.</li> +</ul> +<p>Возвращаемое значение вычисляется как отношение, которое имеется между <code>otherNode</code> и <code>node</code>.</p> +<h2 id="Notes" name="Notes">Примечание</h2> +<p>Возвращаемое значение - это битовая маска со следующими значениями:</p> +<table> + <thead> + <tr> + <th scope="col">Имя</th> + <th scope="col">Значение</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>DOCUMENT_POSITION_DISCONNECTED</code></td> + <td>1</td> + </tr> + <tr> + <td><code>DOCUMENT_POSITION_PRECEDING</code></td> + <td>2</td> + </tr> + <tr> + <td><code>DOCUMENT_POSITION_FOLLOWING</code></td> + <td>4</td> + </tr> + <tr> + <td><code>DOCUMENT_POSITION_CONTAINS</code></td> + <td>8</td> + </tr> + <tr> + <td><code>DOCUMENT_POSITION_CONTAINED_BY</code></td> + <td>16</td> + </tr> + <tr> + <td><code>DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</code></td> + <td>32</td> + </tr> + </tbody> +</table> +<h2 id="Example" name="Example">Пример</h2> +<pre class="brush:js">var head = document.getElementsByTagName('head').item(0); +if (head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING) { + console.log("well-formed document"); +} else { + console.log("<head> is not before <body>"); +} +</pre> +<div class="note"> + <p><strong>Замечание:</strong> <em>Из-за того, что результат, возвращаемый </em><code>compareDocumentPosition</code>, является битовой маской, <a href="/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators" title="/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators">побитовый оператор и</a> должен использоваться для осмысленных значений.</p> +</div> +<h2 id="Specification" name="Specification">Спецификации</h2> +<table> + <tbody> + <tr> + <td>Спецификация</td> + <td>Статус</td> + <td>Комментарий</td> + </tr> + <tr> + <td><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition" title="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition">DOM Level 3</a></td> + <td>Рекомендация</td> + <td> </td> + </tr> + <tr> + <td><a href="http://dom.spec.whatwg.org/#dom-node-comparedocumentposition" title="http://dom.spec.whatwg.org/#dom-node-comparedocumentposition">DOM Standard</a></td> + <td>Живой стандарт</td> + <td> </td> + </tr> + </tbody> +</table> +<h2 id="Смотрите_также">Смотрите также</h2> +<ul> + <li><code><a href="/en-US/docs/DOM/Node.contains" title="/en-US/docs/DOM/Node.contains">Node.contains</a></code></li> + <li><a href="http://ejohn.org/blog/comparing-document-position/" title="http://ejohn.org/blog/comparing-document-position/">John Resig - Comparing Document Position</a></li> +</ul> +<p>{{ languages( {"ru-ru": "ru-ru/DOM/Node.compareDocumentPosition" } ) }}</p> diff --git a/files/ru/web/api/node/contains/index.html b/files/ru/web/api/node/contains/index.html new file mode 100644 index 0000000000..23e8e561c7 --- /dev/null +++ b/files/ru/web/api/node/contains/index.html @@ -0,0 +1,63 @@ +--- +title: Node.contains +slug: Web/API/Node/contains +tags: + - API + - DOM + - Method + - Node +translation_of: Web/API/Node/contains +--- +<div>{{APIRef("DOM")}}</div> + +<div>Метод <strong><code>Node.contains()</code></strong> возвращает {{jsxref ("Boolean")}} значение, указывающее, является ли узел потомком данного узла, т. е. сам узел, один из его прямых потомков ({{domxref ("Node. childNodes "," childNodes ")}}), один из детей его детей и так далее.</div> + +<h2 id="Summary" name="Summary">Синтаксис</h2> + +<pre class="syntaxbox">node.contains( otherNode ) +</pre> + +<ul> + <li><code>node</code> элемент который сравнивается.</li> + <li><code>otherNode</code> элемент с которым производится сравнение.</li> +</ul> + +<h2 id="Example" name="Example">Пример</h2> + +<p>Эта функция проверяет, находится ли элемент в теле страницы.</p> + +<pre class="brush:js">function isInPage(node) { + return (node === document.body) ? false : document.body.contains(node); +}</pre> + +<h2 id="Specifications" name="Specifications">Спецификация</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("DOM WHATWG", "#dom-node-contains", "Node.contains()")}}</td> + <td>{{Spec2("DOM WHATWG")}}</td> + <td>Initial definition</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">Поддержка браузерами</h2> + + + +<p>{{Compat("api.Node.contains")}}</p> + +<h2 id="See_also" name="See_also">См. также</h2> + +<ul> + <li>{{domxref("Node.compareDocumentPosition")}}</li> + <li>{{domxref("Node.hasChildNodes")}}</li> +</ul> diff --git a/files/ru/web/api/node/firstchild/index.html b/files/ru/web/api/node/firstchild/index.html new file mode 100644 index 0000000000..b17ea4fb29 --- /dev/null +++ b/files/ru/web/api/node/firstchild/index.html @@ -0,0 +1,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" name="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" name="Example">Пример</h2> + +<p>Этот пример демонстрирует использование <code>firstChild</code> и как этому свойству могут мешать пробелы. Смотрите раздел {{ Anch("Notes") }} для получения дополнительной информации о обработке пробелов в Gecko DOM.</p> + +<pre class="brush:html"><p id="para-01"> + <span>First span</span> +</p> + +<script type="text/javascript"> + var p01 = document.getElementById('para-01'); + alert(p01.firstChild.nodeName) +</script></pre> + +<p>В данном примере alert выведет '#text', потому что текстовый узел вставлен для сохранения пробела между концом открытого <p> и тега <span>. <strong>Любое </strong>пустое пространство между элементами является причиной вставки узла #text, начиная от единичного пробела, разрыва строки, отступа и так далее.</p> + +<p>Другой #text узел вставляется между закрывающими тегами </span> и </p>.</p> + +<p>Если эти пробелы удаляются из источника, #text узлы не вставляются и элемент span становится первым потомком обзаца.</p> + +<pre class="brush:html"><p id="para-01"><span>First span</span></p> + +<script type="text/javascript"> + var p01 = document.getElementById('para-01'); + alert(p01.firstChild.nodeName) +</script> +</pre> + +<p>Теперь alert будет показывать 'SPAN'.</p> + +<h2 id="Specification" name="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> diff --git a/files/ru/web/api/node/getuserdata/index.html b/files/ru/web/api/node/getuserdata/index.html new file mode 100644 index 0000000000..869ef2618a --- /dev/null +++ b/files/ru/web/api/node/getuserdata/index.html @@ -0,0 +1,113 @@ +--- +title: Node.getUserData() +slug: Web/API/Node/getUserData +translation_of: Web/API/Node/getUserData +--- +<p>{{APIRef("DOM")}}{{ obsolete_header() }}</p> + +<p>Метод <code><strong>Node.getUserData()</strong></code> возвращает любого пользователя {{domxref("DOMUserData")}} установленного предварительно на данном узле через {{domxref("Node.setUserData()")}}.</p> + +<div class="note"> +<p>Методы <code>Node.setUserData</code> и {{domxref("Node.getUserData")}} больше не доступны для веб-контента. {{domxref("Element.dataset")}} или <a href="/en-US/docs/JavaScript/Reference/Global_Objects/WeakMap"><code>WeakMap</code></a> могут быть использованы вместо него.</p> +</div> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox"><em>userData</em> = <em>someNode</em>.getUserData(<em>userKey</em>);</pre> + +<h3 id="Параметры">Параметры</h3> + +<ul> + <li><code>userKey</code> это ключ для выбора определенных данных искомых для данного узла. Больше чем один ключ может быть назначен для данного узла, содержащий свое собственное значение.</li> +</ul> + +<h2 id="Пример">Пример</h2> + +<pre class="brush: js">var d = document.setUserData('key', 15, null); +alert(document.getUserData('key')); // 15</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Коментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Удалено из спецификации</td> + </tr> + <tr> + <td>{{SpecName('DOM3 Core', 'core.html#Node3-getUserData', 'Node.getUserData()')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>Изначальное описание</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatNo}}</td> + <td>Поддерживается от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.<br> + Удалено в {{CompatGeckoDesktop("22.0")}} [1]</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatNo}}</td> + <td>Поддерживается от {{CompatGeckoMobile("1.0")}} до {{CompatGeckoMobile("21.0")}}.<br> + Удалено в {{CompatGeckoMobile("22.0")}} [1]</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Метод по-прежнему доступен для chrome скриптов.</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>{{domxref("Node.setUserData()")}}</li> + <li>{{domxref("UserDataHandler")}}</li> + <li>{{domxref("DOMUserData")}}</li> +</ul> diff --git a/files/ru/web/api/node/haschildnodes/index.html b/files/ru/web/api/node/haschildnodes/index.html new file mode 100644 index 0000000000..947072dfe6 --- /dev/null +++ b/files/ru/web/api/node/haschildnodes/index.html @@ -0,0 +1,37 @@ +--- +title: Node.hasChildNodes() +slug: Web/API/Node/hasChildNodes +translation_of: Web/API/Node/hasChildNodes +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Метод <code><strong>Node.hasChildNodes()</strong></code> возвращает {{jsxref("Boolean")}} значение показывающее имеет ли текущий {{domxref("Node")}} <a href="/en-US/docs/Web/API/Node.childNodes" title="DOM/Node.childNodes">дочерние узлы </a>или нет.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><code>node.hasChildNodes()</code></pre> + +<h2 id="Example" name="Example">Пример</h2> + +<p>Следующий пример удаляет первый дочерний узел внутри элемента с id <code>"foo"</code>, если foo имеет дочерние узлы.</p> + +<pre class="brush:js;highlight:[3];">var foo = document.getElementById("foo"); + +if ( foo.hasChildNodes() ) { + foo.removeChild( foo.childNodes[0] ); +}</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-810594187">hasChildNodes</a></li> +</ul> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{domxref("Node.childNodes")}}</li> + <li>{{domxref("Node.hasAttributes")}}</li> +</ul> diff --git a/files/ru/web/api/node/index.html b/files/ru/web/api/node/index.html new file mode 100644 index 0000000000..5e314a339c --- /dev/null +++ b/files/ru/web/api/node/index.html @@ -0,0 +1,367 @@ +--- +title: Node +slug: Web/API/Node +tags: + - API + - DOM +translation_of: Web/API/Node +--- +<div>{{APIRef("DOM")}}</div> + +<p><strong><code>Node</code></strong> это интерфейс, от которого наследуют несколько типов DOM, он так же позволяет различным типам быть обработанными(или протестированными).</p> + +<p>Следующие интерфейсы полностью наследуют от <code>Node</code> его методы и свойства: {{domxref("Document")}}, {{domxref("Element")}}, {{domxref("CharacterData")}} (which {{domxref("Text")}}, {{domxref("Comment")}}, и {{domxref("CDATASection")}} inherit), {{domxref("ProcessingInstruction")}}, {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Notation")}}, {{domxref("Entity")}}, {{domxref("EntityReference")}}</p> + +<p>Эти интерфейсы могут возвращать null в особых случаях, когда методы и свойства не уместны. Они могут сбросить исключение - например, когда добавляются дети к типу узла, у которого не может их существовать.</p> + +<h2 id="Свойства">Свойства</h2> + +<p><em>Наследует свойства от родителей {{domxref("EventTarget")}}</em>.<sup>[1]</sup></p> + +<dl> + <dt>{{domxref("Node.baseURI")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("DOMString")}} показывающие основной URL. Понятие основного URL изменяется из одного языка в другой; В HTML, это соответствует протоколу , доменному имени и структуре каталогов, все до последнего<code> '/'</code>.</dd> + <dt>{{domxref("Node.baseURIObject")}} {{Non-standard_inline()}} {{ Fx_minversion_inline("3") }}</dt> + <dd>(Не доступно для веб-контента.) Только для чтения. Объект {{ Interface("nsIURI") }}, представляющий базовый URI элемента.</dd> + <dt>{{domxref("Node.childNodes")}} {{readonlyInline}}</dt> + <dd>Возвращает живой {{domxref("NodeList")}}, содержащий всех потомков данного узла. Живой {{domxref("NodeList")}} означает то, что если потомки <code>узла</code> изменяются, объект {{domxref("NodeList")}} автоматически обновляется.</dd> + <dt>{{domxref("Node.firstChild")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Node")}}, представляющий первый прямой узел потомок узла или<code> null,</code> если узел не имеет потомков.</dd> + <dt>{{domxref("Node.lastChild")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Node")}}, представляющий последний прямой узел потомок узла или <code>null</code>, если узел не имеет потомков.</dd> + <dt>{{domxref("Node.localName")}} {{obsolete_inline}}{{readonlyInline}}</dt> + <dd>Возвращает {{domxref("DOMString")}} представляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML {{ gecko_minversion_inline("1.9.2") }}. Хотя недавние спецификации требуют от <code>localName</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd> + <dt>{{domxref("Node.namespaceURI")}} {{obsolete_inline}}{{readonlyInline}}</dt> + <dd>Пространство имен URI данного узла или <code>null,</code> если нет пространства имен. В Firefox 3.5 и более ранних версиях, HTML элементы не имееют пространства имен. В более поздних версиях, HTML элементы находятся в пространстве имен <code><a class="linkification-ext external" href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code> для деревьев HTML и XML. {{ gecko_minversion_inline("1.9.2") }}<br> + Хотя недавние спецификации требуют <code>namespaceURI</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd> + <dt>{{domxref("Node.nextSibling")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Node")}} представляющий следующий узел в древе или <code>null,</code> если не такого узла.</dd> + <dt>{{domxref("Node.nodeName")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("DOMString")}} содержащий имя <code>узла</code>. Структура имени будет отличаться от типа имени. Например, {{domxref("HTMLElement")}} будет содержать имя соответствующего тега:<code> 'audio'</code> для {{domxref("HTMLAudioElement")}}, узел {{domxref("Text")}} будет строкой <code>'#text'</code> или узел {{domxref("Document")}} будет строкой<code> '#document'</code>.</dd> + <dt>{{domxref("Node.nodePrincipal")}} {{Non-standard_inline()}}{{ Fx_minversion_inline("3") }}</dt> + <dd>{{ Interface("nsIPrincipal") }} представляет основной узел.</dd> + <dt>{{domxref("Node.nodeType")}}{{readonlyInline}}</dt> + <dd>Возвращает беззнаковое короткое число <code>(unsigned short</code>) представляющее тип узла. Возможные значения: + <table class="standard-table"> + <tbody> + <tr> + <th scope="col">Имя</th> + <th scope="col">Значение</th> + </tr> + <tr> + <td><code>ELEMENT_NODE</code></td> + <td><code>1</code></td> + </tr> + <tr> + <td><code>ATTRIBUTE_NODE</code> {{deprecated_inline()}}</td> + <td><code>2</code></td> + </tr> + <tr> + <td><code>TEXT_NODE</code></td> + <td><code>3</code></td> + </tr> + <tr> + <td><code>CDATA_SECTION_NODE</code> {{deprecated_inline()}}</td> + <td><code>4</code></td> + </tr> + <tr> + <td><code>ENTITY_REFERENCE_NODE</code> {{deprecated_inline()}}</td> + <td><code>5</code></td> + </tr> + <tr> + <td><code>ENTITY_NODE</code> {{deprecated_inline()}}</td> + <td><code>6</code></td> + </tr> + <tr> + <td><code>PROCESSING_INSTRUCTION_NODE</code></td> + <td><code>7</code></td> + </tr> + <tr> + <td><code>COMMENT_NODE</code></td> + <td><code>8</code></td> + </tr> + <tr> + <td><code>DOCUMENT_NODE</code></td> + <td><code>9</code></td> + </tr> + <tr> + <td><code>DOCUMENT_TYPE_NODE</code></td> + <td><code>10</code></td> + </tr> + <tr> + <td><code>DOCUMENT_FRAGMENT_NODE</code></td> + <td><code>11</code></td> + </tr> + <tr> + <td><code>NOTATION_NODE</code> {{deprecated_inline()}}</td> + <td><code>12</code></td> + </tr> + </tbody> + </table> + </dd> + <dt>{{domxref("Node.nodeValue")}}</dt> + <dd>Это {{domxref("DOMString")}}, представляющее значение объектов. Для большинства типов <code>Node</code>, возвращает <code>null</code> и любой набор операция игнорируется. Для узлов типа <code>TEXT_NODE</code> ({{domxref("Text")}} objects), <code>COMMENT_NODE</code> ({{domxref("Comment")}} objects), и <code>PROCESSING_INSTRUCTION_NODE</code> ({{domxref("ProcessingInstruction")}} objects), значение соответствует текстовым данным, содержащихся в объекте.</dd> + <dt>{{domxref("Node.ownerDocument")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Document")}} к которому принадлежит этот узел. Если нет связанного сним документа, возвращает <code>null</code>.</dd> + <dt>{{domxref("Node.parentNode")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Node")}} который является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернет<code> null</code>.</dd> + <dt>{{domxref("Node.parentElement")}} {{readonlyInline}}</dt> + <dd>Возвращает {{domxref("Element")}} который является родителем данного узла. Если узел не имеет родителя или если родитель не {{domxref("Element")}}, это свойство вернет <code>null</code>.</dd> + <dt>{{domxref("Node.prefix")}} {{obsolete_inline}}{{readonlyInline}}</dt> + <dd>{{domxref("DOMString")}} представляющий префикс пространства имен узла или <code>null</code> если нет префикса точно определенного.<br> + Хотя недавние спецификации требуют того, чтобы <code>префикс</code> был определен как интерфейс {{domxref("Element")}}, браузеры основанные на Gecko еще реализовывают его как интерфейс {{domxref("Node")}}.</dd> + <dt>{{domxref("Node.previousSibling")}} {{readonlyInline}}</dt> + <dd>Возвращают {{domxref("Node")}} представляющий предыдущий узел древа или <code>null</code>, если нет такого узла.</dd> + <dt>{{domxref("Node.textContent")}}</dt> + <dd>Это {{domxref("DOMString")}} представляющее текстовый контент элемента и всех его потомков.</dd> +</dl> + +<h2 id="Методы">Методы</h2> + +<p><em>Наследует методы от своих родителей {{domxref("EventTarget")}}</em>.<sup>[1]</sup></p> + +<dl> + <dt>{{domxref("Node.appendChild()")}}</dt> + <dd>Вставляет {{domxref("Node")}} как последний дочерний узел данного элемента.</dd> + <dt>{{domxref("Node.cloneNode()")}}</dt> + <dd>Клонирует {{domxref("Node")}}, и опционально, все его компоненты. По умолчанию, оно клонирует содержимое узла.</dd> + <dt>{{domxref("Node.compareDocumentPosition()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.contains()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.getFeature()")}} {{obsolete_inline}}</dt> + <dd>...</dd> + <dt>{{domxref("Node.getUserData()")}} {{obsolete_inline}}</dt> + <dd>Позволяет пользователю получить некоторый {{domxref("DOMUserData")}} от узла.</dd> + <dt>{{domxref("Node.hasAttributes()")}} {{obsolete_inline}}</dt> + <dd>Возвращает {{domxref("Boolean")}} показывающий, есть ли у элемента какие-либо атрибуты или нет.</dd> + <dt>{{domxref("Node.hasChildNodes()")}}</dt> + <dd>Возвращает {{domxref("Boolean")}} показывающий, есть ли у элемента дочерние узлы или нет.</dd> + <dt>{{domxref("Node.insertBefore()")}}</dt> + <dd>Вставляет первым {{domxref("Node")}} данный в качестве параметра, непосредственно перед вторым, потомком данного элемента {{domxref("Node")}}.</dd> + <dt>{{domxref("Node.isDefaultNamespace()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.isEqualNode()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.isSameNode()")}} {{obsolete_inline}}</dt> + <dd> </dd> + <dt>{{domxref("Node.isSupported()")}} {{obsolete_inline}}</dt> + <dd>Возвращает <a href="https://developer.mozilla.org/en-US/docs/Web/API/Boolean" title="The Boolean object is an object wrapper for a boolean value."><code>Boolean</code></a> флаг содержащий результаты теста, реализует ли реализация DOM конкретную особенность и поддерживается ли эта особенность конкретным узлом.</dd> + <dt>{{domxref("Node.lookupPrefix()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.lookupNamespaceURI()")}}</dt> + <dd> </dd> + <dt>{{domxref("Node.normalize()")}}</dt> + <dd>Очищает все текстовые узлы под этим элементом (поглотить смежный, удалить пустой).</dd> + <dt>{{domxref("Node.removeChild()")}}</dt> + <dd>Удаляет дочерний узел из текущего элемента, который должен быть потомком текущего узла.</dd> + <dt>{{domxref("Node.replaceChild()")}}</dt> + <dd>Заменяет одного потомка {{domxref("Node")}} из существующего на второй указанный в параметре.</dd> + <dt>{{domxref("Node.setUserData()")}} {{obsolete_inline}}</dt> + <dd>Позволяет пользователю присоединить или удалить {{domxref("DOMUserData")}} к узлу.</dd> + <dd> </dd> +</dl> + +<h2 id="Примеры">Примеры</h2> + +<h3 id="Просмотреть_все_дочерние_узлы">Просмотреть все дочерние узлы</h3> + +<p>Следующая функция рекурсивный цикл всех дочерних узлов узла и она исполняет вызов функции относительно их (и себя относительно родительского узла).</p> + +<pre class="brush: js">function DOMComb (oParent, oCallback) { + if (oParent.hasChildNodes()) { + for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) { + DOMComb(oNode, oCallback); + } + } + oCallback.call(oParent); +}</pre> + +<h4 id="Синтаксис">Синтаксис</h4> + +<pre>DOMComb(parentNode, callbackFunction);</pre> + +<h4 id="Описание">Описание</h4> + +<p>Рекурсивный цикл всех дочерних узлов <code>parentNode</code> и<code> </code>самого <code>parentNode</code>, выполняет <code>callbackFunction</code> относительно их как <a href="/en-US/docs/JavaScript/Reference/Operators/this" title="en-US/docs/JavaScript/Reference/Operators/this"><code>эти</code></a> объекты.</p> + +<h4 id="Параметры">Параметры</h4> + +<dl> + <dt><code>parentNode</code></dt> + <dd>Родительский узел (<code><strong>Node</strong> <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object" title="en-US/docs/JavaScript/Reference/Global_Objects/Object">Object</a></code>).</dd> + <dt><code>callbackFunction</code></dt> + <dd>Обратный вызов функции (<a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function" title="en-US/docs/JavaScript/Reference/Global_Objects/Function"><code>Function</code></a>).</dd> +</dl> + +<h4 id="Пример_использования">Пример использования</h4> + +<p>Следующий пример отправляет в <code>console.log</code> текстовое содержимое body:</p> + +<pre class="brush: js">function printContent () { + if (this.nodeValue) { console.log(this.nodeValue); } +} + +onload = function () { + DOMComb(document.body, printContent); +};</pre> + +<h3 id="Удалить_все_потомки_вложенные_в_узел">Удалить все потомки, вложенные в узел</h3> + +<pre class="brush: js">Element.prototype.removeAll = function () { + while (this.firstChild) { this.removeChild(this.firstChild); } + return this; +};</pre> + +<h4 id="Пример_использования_2">Пример использования</h4> + +<pre class="brush: js">/* ... как альтернатива document.body.innerHTML = "" ... */ +document.body.removeAll();</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Сецификация</th> + <th scope="col">Статус</th> + <th scope="col">Коментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Удалены следующие свойства: <code>attributes</code>, <code>namespaceURI</code>, <code>prefix</code>, и <code>localName</code>.<br> + Удалены следующие методы: <code>isSupported()</code>, <code>hasAttributes()</code>, <code>isSameNode()</code>, <code>getFeature()</code>, <code>setUserData()</code>, и <code>getUserData()</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM3 Core', 'core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>Методы <code>insertBefore()</code>, <code>replaceChild()</code>, <code>removeChild()</code>, and <code>appendChild()</code> возвращают еще один вид ошибок (<code>NOT_SUPPORTED_ERR</code>) если вызваны из {{domxref("Document")}}.<br> + Метод <code>normalize()</code> был модифицирован таким образом, что узел {{domxref("Text")}} также может быть нормализован, если надлежащий флаг {{domxref("DOMConfiguration")}} установлен.<br> + Добавлены следующие методы: <code>compareDocumentPosition()</code>, <code>isSameNode()</code>, <code>lookupPrefix()</code>, <code>isDefaultNamespace()</code>, <code>lookupNamespaceURI()</code>, <code>isEqualNode()</code>, <code>getFeature()</code>, <code>setUserData()</code>, and <code>getUserData().</code><br> + Добавлены следующие свойства: <code>baseURI</code> and <code>textContent</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM2 Core', 'core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM2 Core')}}</td> + <td>Свойство <code>ownerDocument</code> был слегка изменен, так что {{domxref("DocumentFragment")}} также возвращает <code>null</code>.<br> + Добавлены следующие свойства: <code>namespaceURI</code>, <code>prefix</code>, and <code>localName</code>.<br> + Добавлены следующие методы: <code>normalize()</code>, <code>isSupported()</code> and <code>hasAttributes()</code>.</td> + </tr> + <tr> + <td>{{SpecName('DOM1', 'level-one-core.html#ID-1950641247', 'Node')}}</td> + <td>{{Spec2('DOM1')}}</td> + <td>Изначальное описание.</td> + </tr> + </tbody> +</table> + +<p> </p> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoDesktop("1.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>getFeature()</code>{{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("6.0")}}.<br> + Удалено в {{CompatGeckoDesktop("7.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>getUserData()</code>, <code>setUserData()</code> and <code>hasAttributes()</code> {{deprecated_inline}}</td> + <td>{{CompatNo}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.<br> + Удалено в {{CompatGeckoDesktop("22.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>isSameNode()</code> {{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("9.0")}}.<br> + Удалено в {{CompatGeckoDesktop("10.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>isSupported()</code> {{obsolete_inline}}</td> + <td>{{CompatUnknown}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.<br> + Удалено в {{CompatGeckoDesktop("22.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>attributes</code></td> + <td>{{CompatNo}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.<br> + Перемещено к {{domxref("Element")}} в {{CompatGeckoDesktop("22.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoMobile("1.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>getFeature()</code>{{obsolete_inline}}</td> + <td>{{CompatNo}}</td> + <td>Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("6.0")}}.<br> + Удалено в {{CompatGeckoDesktop("7.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Webkit и Blink неверно не делают <code>Node</code> наследуя от {{domxref("EventTarget")}}.</p> diff --git a/files/ru/web/api/node/innertext/index.html b/files/ru/web/api/node/innertext/index.html new file mode 100644 index 0000000000..ef23b48d59 --- /dev/null +++ b/files/ru/web/api/node/innertext/index.html @@ -0,0 +1,46 @@ +--- +title: Node.innerText +slug: Web/API/Node/innerText +translation_of: Web/API/HTMLElement/innerText +--- +<div>{{APIRef("DOM")}}</div> + +<p><code><strong>Node.innerText</strong></code> - это свойство, позволяющее задавать или получать текстовое содержимое элемента и его потомков. В качестве геттера, свойство приближается к тексту, который пользователь получит, если он выделит содержимое элемента курсором, затем копирует его в буфер обмена.</p> + +<p>Изначально, данное поведение было представленно Internet Explorer, и было формально специализированно в стандарте HTML в 2016 после того, как было адаптированно всеми ведущими браузерами.</p> + +<p>{{domxref("Node.textContent")}} - это альтернативное свойство, которое имеет ряд отличий:</p> + +<ul> + <li><code>textContent</code> получает содержимое <em>всех</em> элементов, включая <a class="new" href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/script" title="This article hasn't been written yet. Please consider contributing!"><code><script></code></a> и <a href="https://developer.mozilla.org/ru/docs/Web/HTML/Element/style" title="HTML-элемент <style> содержит стилевую информацию для документа или его части. По умолчанию стилевые инструкции внутри этого элемента считаются написанными на CSS."><code><style></code></a>, тогда как <code>innerText</code> этого не делает.</li> + <li><code>innerText</code> умеет считывать стили и не возвращает содержимое скрытых элементов, тогда как <code>textContent</code> этого не делает.</li> + <li>Метод <code>innerText</code> позволяет получить CSS, а <code>textContent</code> — нет.</li> +</ul> + +<h2 id="Спецификация">Спецификация</h2> + +<table> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', 'dom.html#the-innertext-idl-attribute', 'innerText')}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td>Представлено, основываясь на <a href="https://github.com/rocallahan/innerText-spec">черновике спецификации innerText</a>. См. <a href="https://github.com/whatwg/html/issues/465">whatwg/html#465</a> и <a href="https://github.com/whatwg/compat/issues/5">whatwg/compat#5</a>.</td> + </tr> + </tbody> +</table> + +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> + +<p>{{Compat("api.Node.innerText")}}</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>{{domxref("HTMLElement.outerText")}}</li> + <li>{{domxref("Element.innerHTML")}}</li> +</ul> diff --git a/files/ru/web/api/node/insertbefore/index.html b/files/ru/web/api/node/insertbefore/index.html new file mode 100644 index 0000000000..f28d388147 --- /dev/null +++ b/files/ru/web/api/node/insertbefore/index.html @@ -0,0 +1,132 @@ +--- +title: Node.insertBefore() +slug: Web/API/Node/insertBefore +tags: + - API + - DOM + - DOM Element Methods + - Method + - WebAPI +translation_of: Web/API/Node/insertBefore +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Метод <code><strong>Node.insertBefore()</strong></code> добавляет элемент в список дочерних элементов родителя перед указанным элементом.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <em>insertedElement</em> = <em>parentElement</em>.insertBefore(<em>newElement</em>, <em>referenceElement</em>); +</pre> + +<p>В Mozilla Firefox, если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> не задан или равен <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">newElement</span> вcтавляется в конец списка дочерних элеметнов. В IE, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> равный <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">undefined</span>, сгенерируется исключение <span style="line-height: 1.5;">"</span>Invalid argument", в то время как Chrome сгенерирует исключение "Uncaught TypeError", ожидая 2 аргумента.</p> + +<ul> + <li><code>insertedElement</code> Вставленный элемент.</li> + <li><code>parentElement</code> Родитель для нового элемента.</li> + <li><code>newElement</code> Элемент для вставки.</li> + <li><code>referenceElement</code> Элемент, перед которым будет вставлен <code>newElement</code>.</li> +</ul> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:html"><div id="parentElement"> + <span id="childElement">foo bar</span> +</div> + +<script> +// Создаем новый <span> +var sp1 = document.createElement("span"); + +// Получаем ссылку на элемент, перед которым мы хотим вставить sp1 +var sp2 = document.getElementById("childElement"); +//Получаем ссылку на родителя sp2 +var parentDiv = sp2.parentNode; + +// Вставляем sp1 перед sp2 +parentDiv.insertBefore(sp1, sp2); +</script> +</pre> + +<p>Однако нет метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertAfter</span>. Он может быть заменен использованием метода <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">insertBefore</span> в связке с <code style="font-style: normal;"><a href="/en-US/docs/DOM/Node.nextSibling" title="DOM/Node.nextSibling">nextSibling</a></code>.</p> + +<p>В предыдущем примере <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp1</span> может быть вставлен после <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span> следующим образом:</p> + +<pre><code>parentDiv.insertBefore(sp1, sp2.nextSibling);</code></pre> + +<p>Если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span> не имеет следующего элемента, то он будет последним дочерним элементом, <code style="font-style: normal;">sp2.nextSibling вернет </code><span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, а <code style="font-style: normal;">sp1</code> вставится в конец дочернего узла (сразу после <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">sp2</span>).</p> + +<h2 id="Example2" name="Example2">Пример 2</h2> + +<p>Вставка элемента перед первым дочерним элементом с помощью <a href="/en-US/docs/DOM/Node.firstChild" title="Node.firstChild">firstChild</a>.</p> + +<pre class="brush:js">// Получаем ссылку на элемент в который мы хотим добавить новый элемент +var parentElement = document.getElementById('parentElement'); +// Получаем ссылку на первый дочерний элемент +var theFirstChild = parentElement.firstChild; + +// Создаем новый элемент, который будем добавлять +var newElement = document.createElement("div"); + +// Вставляем новый элемент перед первым дочерним элементом +parentElement.insertBefore(newElement, theFirstChild); +</pre> + +<p>Когда у родителя нет первого дочернего элемента, <code>firstChild</code> вернет <code>null</code>. Новый элемент все равно будет втавляться после последнего дочернего элемента. Но так как родитель не имеет первого дочернего элемета, то он не будет иметь и последнего. Следовательно, после добавления в него элемента, этот элемент будет единственным дочерним элементом.</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable()}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>1.0</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-952280727">insertBefore</a></li> +</ul> diff --git a/files/ru/web/api/node/isconnected/index.html b/files/ru/web/api/node/isconnected/index.html new file mode 100644 index 0000000000..aef8cf8ee7 --- /dev/null +++ b/files/ru/web/api/node/isconnected/index.html @@ -0,0 +1,87 @@ +--- +title: Node.isConnected +slug: Web/API/Node/isConnected +translation_of: Web/API/Node/isConnected +--- +<p>{{APIRef("DOM")}}</p> + +<p>The <strong><code>isConnected</code></strong> read-only property of the {{domxref("Node")}} interface returns a boolean indicating whether the Node is connected (directly or indirectly) to the context object, for example the {{domxref("Document")}} object in the case of the normal DOM, or the {{domxref("ShadowRoot")}} in the case of a shadow DOM.</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">var isItConnected = nodeObjectInstance.isConnected</pre> + +<h3 id="Return_value">Return value</h3> + +<p>A {{domxref("Boolean")}} that is <code>true</code> if the node is connected to its relevant context object, and <code>false</code> if not.</p> + +<h2 id="Пример">Пример</h2> + +<p>Стандартный DOM пример:</p> + +<pre class="brush: js"><code class="language-html">let test = document.createElement('p'); +console.log(test.isConnected); // returns false +document.body.appendChild(test);</code> +<code class="language-html">console.log(test.isConnected); // returns true</code> +</pre> + +<p>A shadow DOM example:</p> + +<pre class="brush: js">// Create a shadow root +var shadow = this.attachShadow({mode: 'open'}); + +// Create some CSS to apply to the shadow dom +var style = document.createElement('style'); +console.log(style.isConnected); // returns false + +style.textContent = '.wrapper {' + + 'position: relative;' + + '}' + + + '.info {' + + 'font-size: 0.8rem;' + + 'width: 200px;' + + 'display: inline-block;' + + 'border: 1px solid black;' + + 'padding: 10px;' + + 'background: white;' + + 'border-radius: 10px;' + + 'opacity: 0;' + + 'transition: 0.6s all;' + + 'position: absolute;' + + 'bottom: 20px;' + + 'left: 10px;' + + 'z-index: 3;' + + '}' + + +// attach the created style element to the shadow dom + +shadow.appendChild(style); +console.log(style.isConnected); // returns true</pre> + +<p> </p> + +<h2 id="Спецификация">Спецификация</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('DOM WHATWG','#dom-node-isconnected','isConnected')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Поддержка_Браузерами">Поддержка Браузерами</h2> + +<div> + + +<p>{{Compat("api.Node.isConnected")}}</p> +</div> diff --git a/files/ru/web/api/node/isdefaultnamespace/index.html b/files/ru/web/api/node/isdefaultnamespace/index.html new file mode 100644 index 0000000000..941474c135 --- /dev/null +++ b/files/ru/web/api/node/isdefaultnamespace/index.html @@ -0,0 +1,34 @@ +--- +title: Node.isDefaultNamespace() +slug: Web/API/Node/isDefaultNamespace +translation_of: Web/API/Node/isDefaultNamespace +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Метод <strong><code>Node.isDefaultNamespace()</code></strong> принимает URI пространства имен в качестве аргумента и возвращает {{jsxref("Boolean")}} со значением <code>true</code> если пространство имен является пространством имен данного узла по умолчанию или <code>false</code> если нет.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>result</em> = <em>node</em>.isDefaultNamespace(<em>namespaceURI</em>) +</pre> + +<ul> + <li><code>result</code> содержит в себе возращаемое значение <code>true</code> или <code>false</code>.</li> + <li><code>namespaceURI</code> это строка представляющая собой пространство имен, на которое элемент будет проверен.</li> +</ul> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">var XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; +var el = document.getElementsByTagNameNS(XULNS, 'textbox')[0]; + +alert(el.isDefaultNamespace(XULNS)); // true</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace">DOM Level 3 Core: isDefaultNamespace</a></li> + <li><a href="/en-US/docs/Code_snippets/IsDefaultNamespace" title="Code_snippets/IsDefaultNamespace">Code snippets: isDefaultNamespace</a></li> +</ul> diff --git a/files/ru/web/api/node/isequalnode/index.html b/files/ru/web/api/node/isequalnode/index.html new file mode 100644 index 0000000000..3c76678b0a --- /dev/null +++ b/files/ru/web/api/node/isequalnode/index.html @@ -0,0 +1,66 @@ +--- +title: Node.isEqualNode() +slug: Web/API/Node/isEqualNode +translation_of: Web/API/Node/isEqualNode +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p> <code><strong>Node.isEqualNode()</strong></code> проверяет, равны ли два узла. Два узла равны, когда они имеют один и тот же тип, определяющий характеристики (для элементов это будет их идентификатор, количество потомков и т. д.), Его атрибуты совпадают и т. д. Конкретный набор точек данных, которые должны совпадать, зависит от типов узлов.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <var>isEqualNode</var> = <var>node</var>.isEqualNode(<var>otherNode</var>); +</pre> + +<ul> + <li><code>otherNode</code>: Узел {{domxref("Node")}} с которым надо сравнить.</li> +</ul> + +<h2 id="Пример">Пример</h2> + +<p>В этом примере мы создаем три блока {{HTMLElement ("div")}}. Первый и третий имеют одинаковое содержание и атрибуты, в то время как второй отличается. Затем мы запускаем некоторый JavaScript код для сравнения узлов с помощью isEqualNode () и выводим результаты.</p> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html line-numbers language-html"><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token"><</span>div</span><span class="punctuation token">></span></span>This is the first element.<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>div</span><span class="punctuation token">></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>div</span><span class="punctuation token">></span></span>This is the second element.<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>div</span><span class="punctuation token">></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>div</span><span class="punctuation token">></span></span>This is the first element.<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>div</span><span class="punctuation token">></span></span> + +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>p</span> <span class="attr-name token">id</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>output<span class="punctuation token">"</span></span><span class="punctuation token">></span></span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>p</span><span class="punctuation token">></span></span></code></pre> + +<div class="hidden"> +<h3 id="CSS">CSS</h3> + +<pre class="brush: css line-numbers language-css"><code class="language-css"><span class="selector token"><span class="id token">#output</span></span> <span class="punctuation token">{</span> + <span class="property token">width</span><span class="punctuation token">:</span> <span class="number token">440</span><span class="token unit">px</span><span class="punctuation token">;</span> + <span class="property token">border</span><span class="punctuation token">:</span> <span class="number token">2</span><span class="token unit">px</span> solid black<span class="punctuation token">;</span> + <span class="property token">border-radius</span><span class="punctuation token">:</span> <span class="number token">5</span><span class="token unit">px</span><span class="punctuation token">;</span> + <span class="property token">padding</span><span class="punctuation token">:</span> <span class="number token">10</span><span class="token unit">px</span><span class="punctuation token">;</span> + <span class="property token">margin-top</span><span class="punctuation token">:</span> <span class="number token">20</span><span class="token unit">px</span><span class="punctuation token">;</span> + <span class="property token">display</span><span class="punctuation token">:</span> block<span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> +</div> + +<div class="hidden"></div> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">let</span> output <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">getElementById</span><span class="punctuation token">(</span><span class="string token">"output"</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="keyword token">let</span> divList <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">getElementsByTagName</span><span class="punctuation token">(</span><span class="string token">"div"</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + +output<span class="punctuation token">.</span>innerHTML <span class="operator token">+=</span> <span class="string token">"div 0 equals div 0: "</span> <span class="operator token">+</span> divList<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">.</span><span class="function token">isEqualNode</span><span class="punctuation token">(</span>divList<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">)</span> <span class="operator token">+</span> <span class="string token">"<br/>"</span><span class="punctuation token">;</span> +output<span class="punctuation token">.</span>innerHTML <span class="operator token">+=</span> <span class="string token">"div 0 equals div 1: "</span> <span class="operator token">+</span> divList<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">.</span><span class="function token">isEqualNode</span><span class="punctuation token">(</span>divList<span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">]</span><span class="punctuation token">)</span> <span class="operator token">+</span> <span class="string token">"<br/>"</span><span class="punctuation token">;</span> +output<span class="punctuation token">.</span>innerHTML <span class="operator token">+=</span> <span class="string token">"div 0 equals div 2: "</span> <span class="operator token">+</span> divList<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">.</span><span class="function token">isEqualNode</span><span class="punctuation token">(</span>divList<span class="punctuation token">[</span><span class="number token">2</span><span class="punctuation token">]</span><span class="punctuation token">)</span> <span class="operator token">+</span> <span class="string token">"<br/>"</span><span class="punctuation token">;</span></code></pre> + +<h3 id="Results">Results</h3> + +<p>{{ EmbedLiveSample('Example', 480) }}</p> + +<h2 id="Specification" name="Specification">Спецификации</h2> + +<ul> + <li>{{spec("https://dom.spec.whatwg.org/#dom-node-isequalnode","DOM Standard","LS")}}</li> + <li>{{spec("http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode","DOM Level 3 Core: isEqualNode","REC")}}</li> +</ul> diff --git a/files/ru/web/api/node/issamenode/index.html b/files/ru/web/api/node/issamenode/index.html new file mode 100644 index 0000000000..b8050e92d6 --- /dev/null +++ b/files/ru/web/api/node/issamenode/index.html @@ -0,0 +1,110 @@ +--- +title: Node.isSameNode() +slug: Web/API/Node/isSameNode +translation_of: Web/API/Node/isSameNode +--- +<div>{{APIRef("DOM")}} {{ Obsolete_header }}</div> + +<p>The <code><strong>Node.isSameNode()</strong></code> проверяет ссылаются ли два узла на один и тот же объект.</p> + +<div class="note"> +<p><strong>Предупреждение:</strong> Данный метод больше не реализуется в последних браузерах.</p> + +<pre class="brush:js">// Instead of using +node1.isSameNode(node2) + +// use +node1 === node2 // or +node1 == node2</pre> +</div> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">var <em>isSameNode</em> = <em>node</em>.isSameNode(<em>other</em>); +</pre> + +<ul> + <li><code>other</code> узел для проверки.</li> +</ul> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Коментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Удалено из спецификации.</td> + </tr> + <tr> + <td>{{SpecName('DOM3 Core', 'core.html#Node3-isSameNode', 'Node.isSameNode()')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>Изначальное описание.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_в_браузерах">Совместимость в браузерах</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>Поддерживается от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("9.0")}}.<br> + Удалено в {{CompatGeckoDesktop("10.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>Поддерживается от {{CompatGeckoMobile("1.0")}} до {{CompatGeckoMobile("9.0")}}.<br> + Удалено в {{CompatGeckoMobile("10.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{domxref("Node.isEqualNode()")}}</li> +</ul> diff --git a/files/ru/web/api/node/issupported/index.html b/files/ru/web/api/node/issupported/index.html new file mode 100644 index 0000000000..0581349b24 --- /dev/null +++ b/files/ru/web/api/node/issupported/index.html @@ -0,0 +1,124 @@ +--- +title: Node.isSupported() +slug: Web/API/Node/isSupported +translation_of: Web/API/Node/isSupported +--- +<p>{{APIRef("DOM")}}{{obsolete_header}}</p> + +<p><code><strong>Node.isSupported()</strong></code> возвращает {{domxref("Boolean")}} флаг содержащий результат проверки реализует ли реализация DOM определенное свойство и поддерживается ли это свойство конкретным узлом.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>boolValue</em> = <em>element</em>.isSupported(<em>feature</em>, <em>version</em>)</pre> + +<h3 id="Параметры">Параметры</h3> + +<dl> + <dt><em>feature</em></dt> + <dd>Это {{domxref("DOMString")}} содержащая имя свойства для проверки. Это тоже имя, которое может быть передано в метод <code>hasFeature</code> в <a href="/en/DOM/document.implementation" title="en/DOM/document.implementation">DOMImplementation</a>. Возможные значения определенные в спецификации ядра DOM перечислены в DOM Level 2 <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/introduction.html#ID-Conformance">соответствующий раздел</a>.</dd> + <dt><em>version</em></dt> + <dd>Это {{domxref("DOMString")}} содержащая номер версии свойства для ис проверки.В DOM уровень 2, version 1, это строка <code>2.0</code>. если версия не указана, поддерживает любую версию свойства, вызывает метод и возвращает true.</dd> +</dl> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush: html"><div id="doc"> +</div> + +<script> + // Получить элемент и проверить поддерживает ли он модуль DOM2 HTML. + var main = document.getElementById('doc'); + var output = main.isSupported('HTML', '2.0'); +</script> +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Коментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}</td> + <td>{{Spec2('DOM WHATWG')}}</td> + <td>Удалено из спецификации.</td> + </tr> + <tr> + <td>{{SpecName('DOM3 Core', '/core.html#Level-2-Core-Node-supports', 'Node.isSupported()')}}</td> + <td>{{Spec2('DOM3 Core')}}</td> + <td>Никаких изменений с {{SpecName('DOM2 Core')}}.</td> + </tr> + <tr> + <td>{{SpecName('DOM2 Core', '/core.html#Level-2-Core-Node-supports', 'Node.isSupported()')}}</td> + <td>{{Spec2('DOM2 Core')}}</td> + <td>Изначальное описание.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>Поддерживается от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.<br> + Удалено в {{CompatGeckoDesktop("22.0")}} [1]</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>Поддерживается от {{CompatGeckoMobile("1.0")}} до {{CompatGeckoMobile("21.0")}}.<br> + Удалено в {{CompatGeckoMobile("22.0")}} [1]</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h3 id="Gecko-специфичные_замечания">Gecko-специфичные замечания</h3> + +<p>[1] Начиная с Gecko 19.0 {{geckoRelease("19.0")}} этот метод всегда будет возвращать true ({{bug("801425")}}) и начиная с Gecko 22.0 {{geckoRelease("22.0")}} этот метод был удален.</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>Принадлежит интерфейсу {{domxref("Node")}}.</li> +</ul> diff --git a/files/ru/web/api/node/lastchild/index.html b/files/ru/web/api/node/lastchild/index.html new file mode 100644 index 0000000000..6c0f0d9722 --- /dev/null +++ b/files/ru/web/api/node/lastchild/index.html @@ -0,0 +1,32 @@ +--- +title: Node.lastChild +slug: Web/API/Node/lastChild +translation_of: Web/API/Node/lastChild +--- +<p>{{ ApiRef() }}</p> + +<h2 id="Summary" name="Summary">Основная информация</h2> + +<p><strong>lastChild</strong> возвращает последнего потомка в узле.</p> + +<h2 id="Syntax_and_Values" name="Syntax_and_Values">Синтаксис</h2> + +<pre class="syntaxbox">var last_child = element.lastChild +</pre> + +<h2 id="Описание">Описание</h2> + +<p>Возвращаемый элемент <code>last_child</code> является узлом. Если его родитель является элементом, то возвращаемый узел является узлом типа Элемент, Текст, или же узлом комментария. Если в опрашиваемом узле нет дочерних элементов, <strong>lastChild </strong>возвращает <code>null</code> .</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush: js">var tr = document.getElementById("row1"); +var corner_td = tr.lastChild; +</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li>{{Spec("http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-61AD09FB", "DOM Level 2: lastChild", "REC")}}</li> + <li>{{Spec("http://dom.spec.whatwg.org/#dom-node-lastchild", "DOM Standard: lastChild")}}</li> +</ul> diff --git a/files/ru/web/api/node/localname/index.html b/files/ru/web/api/node/localname/index.html new file mode 100644 index 0000000000..2942a8fa66 --- /dev/null +++ b/files/ru/web/api/node/localname/index.html @@ -0,0 +1,80 @@ +--- +title: Node.localName +slug: Web/API/Node/localName +translation_of: Web/API/Node/localName +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.localName</strong></code> только для чтения, возвращает локальную часть полного имени этого узла.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>name</var> = <var>element</var>.localName +</pre> + +<ul> + <li><code>name</code> это локальное имя в виде строки (для уточнения деталей смотрите {{Anch("Notes")}} ниже)</li> +</ul> + +<h2 id="Example" name="Example">Пример</h2> + +<p>(Должен быть обработан с XML типом содержимого, таким как <code>text/xml</code> или <code>application/xhtml+xml</code>.)</p> + +<pre class="brush:xml"><html xmlns="http://www.w3.org/1999/xhtml" + xmlns:svg="http://www.w3.org/2000/svg"> +<head> + <script type="application/javascript"><![CDATA[ + function test() { + var text = document.getElementById('text'); + var circle = document.getElementById('circle'); + + text.value = "<svg:circle> has:\n" + + "localName = '" + circle.localName + "'\n" + + "namespaceURI = '" + circle.namespaceURI + "'"; + } + ]]></script> +</head> +<body onload="test()"> + <svg:svg version="1.1" + width="100px" height="100px" + viewBox="0 0 100 100"> + <svg:circle cx="50" cy="50" r="30" style="fill:#aaa" id="circle"/> + </svg:svg> + <textarea id="text" rows="4" cols="55"/> +</body> +</html> +</pre> + +<h2 id="Notes" name="Notes">Примечания</h2> + +<p>Локальное имя узла, является полным именем узла, которое идет после двоеточия. Полное имя, как правило, используется как часть пространства имен <span id="result_box" lang="ru"><span class="hps">для</span> <span class="hps">конкретных</span> <span class="hps">XML</span> <span class="hps">документов.</span></span> Например, полное имя <code>ecomm:partners</code>, <code>partners</code> это локальное имя и <code>ecomm</code> это префикс:</p> + +<pre class="brush:xml"><ecomm:business id="soda_shop" type="brick_n_mortar" xmlns:ecomm="http://example.com/ecomm"> + <ecomm:partners> + <ecomm:partner id="1001">Tony's Syrup Warehouse + </ecomm:partner> + </ecomm:partner> +</ecomm:business> +</pre> + + +<div class="note"> +<p><strong>Примечание:</strong> В {{Gecko("1.9.2")}} и ранее, свойство возвращает версию локального имени в верхнем регистре для HTML элементов в HTML DOMs (в отличии от XHTML элементов в XML DOMs). В более поздних версиях, в соответствии с HTML5, свойство возвращает, в случае внутреннего хранилища DOM, в нижнем регистре для HTML элементов в HTML DOMs и XHTML элементов в XML DOMs. {{domxref("element.tagName","tagName")}} свойство продолжает возвращать в верхнем регистре для HTML элементов в HTML DOMs.</p> +</div> + +<p>Для узла другово <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node.nodeType">типа</a> отличного от <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> <code>localName</code> всегда <code>null</code>.</p> + +<h2 id="Specification" name="Specification">Спецификации</h2> + +<ul> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-NodeNSLocalN">DOM Level 2 Core: Node.localName</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN">DOM Level 3 Core: Node.localName</a></li> +</ul> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{domxref("Node.namespaceURI")}}</li> +</ul> diff --git a/files/ru/web/api/node/lookupnamespaceuri/index.html b/files/ru/web/api/node/lookupnamespaceuri/index.html new file mode 100644 index 0000000000..10899ce8ae --- /dev/null +++ b/files/ru/web/api/node/lookupnamespaceuri/index.html @@ -0,0 +1,18 @@ +--- +title: Node.lookupNamespaceURI() +slug: Web/API/Node/lookupNamespaceURI +translation_of: Web/API/Node/lookupNamespaceURI +--- +<div>{{APIRef("DOM")}}</div> + +<p>Метод <code><strong>Node.lookupNamespaceURI()</strong></code> берет префикс и возвращает пространство имен URI связанное с ним в данном узле, если найден (и <code>null</code> если нет). Устанавливает <code>null</code> для префикса который возвращает пространство имен по умолчанию.</p> + +<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имен (т.е., с уставленным тем же <a href="/en/DOM/Node.prefix" title="En/DOM/Node.prefix">Node.prefix</a>).</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI" rel="freelink">http://www.w3.org/TR/DOM-Level-3-Cor...upNamespaceURI</a></li> +</ul> + +<p> </p> diff --git a/files/ru/web/api/node/lookupprefix/index.html b/files/ru/web/api/node/lookupprefix/index.html new file mode 100644 index 0000000000..10a92d81af --- /dev/null +++ b/files/ru/web/api/node/lookupprefix/index.html @@ -0,0 +1,16 @@ +--- +title: Node.lookupPrefix() +slug: Web/API/Node/lookupPrefix +translation_of: Web/API/Node/lookupPrefix +--- +<div>{{APIRef("DOM")}}</div> + +<p>Метод <code><strong>Node.lookupPrefix()</strong></code> возвращает {{domxref("DOMString")}} содержащий префикс для данного пространства имен URI, если он присутствует, и <code>null</code> если нет. Когда возможно присутствие нескольких префиксов, результат зависит от реализации.</p> + +<p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имен, которое установлено с тем же свойством {{domxref("Node.prefix")}}.</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix" rel="freelink">http://www.w3.org/TR/DOM-Level-3-Cor...amespacePrefix</a></li> +</ul> diff --git a/files/ru/web/api/node/namespaceuri/index.html b/files/ru/web/api/node/namespaceuri/index.html new file mode 100644 index 0000000000..4e4c75e59e --- /dev/null +++ b/files/ru/web/api/node/namespaceuri/index.html @@ -0,0 +1,45 @@ +--- +title: Node.namespaceURI +slug: Web/API/Node/namespaceURI +translation_of: Web/API/Node/namespaceURI +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.namespaceURI</strong></code> только для чтения, возвращает пространство имен URI узла или <code>null,</code> если узел не находится в пространстве имен (только для чтения). Хотя узел документа, возвращает пространство имен XML для текущего документа.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>namespace</em> = <em>node</em>.namespaceURI</pre> + +<h2 id="Example" name="Example">Пример</h2> + +<p>В этом снипнете, узел рассматривается для его <a href="/en-US/docs/DOM/Node.localName" title="DOM/Node.localName">localName</a> и его <code>namespaceURI</code>. Если <code>namespaceURI</code> возвращает XUL пространство имен и <code>localName</code> возвращая "browser", затем узел XUL согласует <code><browser/></code>.</p> + +<pre class="brush:js">if (node.localName == "browser" && + node.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") { + // this is a XUL browser +}</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p>Это не вычисленное значение, которое является результатом поиска имен на основе проверки декларации в области пространства имен. Пространство имен URI узла заморожена в момент создания узла.</p> + +<p>В Firefox 3.5 и выше, пространство имен URI для HTML элементов в HTML документах это <code>null</code>. В более поздних версиях, в соответствии с HTML5, это <code><a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a></code> как в XHTML. {{gecko_minversion_inline("1.9.2")}}</p> + +<p>Для узлов любого <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node/NodeType/Node.nodeType">nodeType</a> кроме <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> значение <code>namespaceURI</code> всегда <code>null</code>.</p> + +<p>Вы можите создать элемент с конкретным <code>namespaceURI</code> используйте метод DOM Level 2 <a href="/en-US/docs/DOM/document.createElementNS" title="DOM/document.createElementNS">document.createElementNS</a>.</p> + +<p>Через <a class="external" href="http://www.w3.org/TR/xml-names11/">пространство имен в XML</a> спецификации, атрибуты не наследуют пространство имен для элемента к которому он прикреплен. Если у атрибута не задано явно пространство имен, он не имеет пространства имен.</p> + +<p>DOM не обрабатывает или не вынуждает проверять пространство имен как таковое. Приложения выше DOM, делают необходимые проверки. <span id="result_box" lang="ru"><span class="hps">Отметим также,</span> <span class="hps">что</span> <span class="hps">префикс пространства имен</span><span>,</span> <span class="hps">когда</span> <span class="hps">он связан с</span> <span class="hps">конкретным узлом</span><span>,</span> <span class="hps">не может быть изменен</span><span>.</span></span></p> + +<h2 id="Specifications" name="Specifications">Спецификации</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-NodeNSname">DOM Level 2 Core: namespaceURI</a></li> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#Namespaces-Considerations">DOM Level 2 Core: XML Namespaces</a></li> + <li><a href="http://www.w3.org/TR/dom/#dom-element-namespaceuri">DOM4: namespaceURI</a></li> +</ul> diff --git a/files/ru/web/api/node/nextsibling/index.html b/files/ru/web/api/node/nextsibling/index.html new file mode 100644 index 0000000000..cc874be72e --- /dev/null +++ b/files/ru/web/api/node/nextsibling/index.html @@ -0,0 +1,83 @@ +--- +title: Node.nextSibling +slug: Web/API/Node/nextSibling +tags: + - API + - DOM + - Gecko + - Node + - Property + - Свойство + - Узел + - Узлы +translation_of: Web/API/Node/nextSibling +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.nextSibling</strong></code> используется только для чтения и возвращает узел, непосредственно следующий за данным узлом в списке {{domxref("Node.childNodes","childNodes")}} его родительского элемента, или <code>null</code> если данный узел последний в этом списке.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>nextNode</var> = <var>node</var>.nextSibling +</pre> + +<h2 id="Notes" name="Notes">Заметки</h2> + +<div><p>Браузеры, основанные на Gecko, вставляют текстовые узлы в документ для представления пробелов в разметке. + Поэтому узел, полученный, например, при использовании <a href="/ru/docs/Web/API/Node/firstChild" title="Свойство Node.firstChild только для чтения, возвращающее первый потомок узла в древе или null, если узел является бездетным. Если узел это документ, он возвращает первый узел в списке своих прямых детей."><code>Node.firstChild</code></a> или <a href="/ru/docs/Web/API/Node/previousSibling" title="Свойство Node.previousSibling используется только для чтения, оно возвращает узел предшедствующий указанному в родительском элементе childNodes, или null, если указанный узел первый в своём родителе."><code>Node.previousSibling</code></a> может относиться к + пробелу, а не к тому элементу, который автор хотел получить.</p> + + <p>Смотрите <a class="new" href="/ru/docs/Web/Guide/DOM/Whitespace_in_the_DOM" rel="nofollow">Пробел в DOM</a> и + <a class="external" href="http://www.w3.org/DOM/faq.html#emptytext" rel="noopener">W3C DOM 3 FAQ: Почему некоторые текстовые узлы пустые?</a> + для дополнительной информации.</p></div> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:html"><div id="div-01">Вот div-01</div> +<div id="div-02">Вот div-02</div> + +<script type="text/javascript"> +var el = document.getElementById('div-01').nextSibling, + i = 1; + +console.log('Потомки div-01:'); + +while (el) { + console.log(i + '. ' + el.nodeName); + el = el.nextSibling; + i++; +} + +</script> + +/************************************************** + Следующий пример напишет в консоль: + + Потомки div-01: + + 1. #text + 2. DIV + 3. #text + 4. SCRIPT + +**************************************************/ +</pre> + +<p>В приведенном выше примере вы можете видеть, что <code>#text</code> узлы вставляются в DOM, где между тегами встречаются пробелы (т.е. после закрывающего тега элемента и до открывающего тега рядом). Не создается пробелов между элементами, вставленных с помощью <code>document.write</code></p> + +<p>Возможность включения текстовых узлов в DOM должна быть разрешена, когда DOM обходится с помощью <code>nextSibling</code>. Смотрите раздел "Заметки".</p> + +<h2 id="Specification" name="Specification">Спецификации</h2> + +<ul> + <li><a href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#attribute-nextSibling">DOM Level 1 Core: nextSibling</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-6AC54C2F">DOM Level 2 Core: nextSibling</a></li> +</ul> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>{{domxref("Element.nextElementSibling")}}</li> +</ul> diff --git a/files/ru/web/api/node/nodename/index.html b/files/ru/web/api/node/nodename/index.html new file mode 100644 index 0000000000..36962d050a --- /dev/null +++ b/files/ru/web/api/node/nodename/index.html @@ -0,0 +1,104 @@ +--- +title: Node.nodeName +slug: Web/API/Node/nodeName +translation_of: Web/API/Node/nodeName +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.nodeName</strong></code> только для чтения, возвращающие имя текущего узла в виде строки.</p> + +<p>Возвращаемое значение для различных типов узлов:</p> + +<table class="standard-table"> + <tbody> + <tr> + <th>Интерфейс</th> + <th>значение nodeName</th> + </tr> + <tr> + <td>{{domxref("Attr")}}</td> + <td>Значение {{domxref("Attr.name")}}</td> + </tr> + <tr> + <td>{{domxref("CDATASection")}}</td> + <td><code>"#cdata-section"</code></td> + </tr> + <tr> + <td>{{domxref("Comment")}}</td> + <td><code>"#comment"</code></td> + </tr> + <tr> + <td>{{domxref("Document")}}</td> + <td><code>"#document"</code></td> + </tr> + <tr> + <td>{{domxref("DocumentFragment")}}</td> + <td><code>"#document-fragment"</code></td> + </tr> + <tr> + <td>{{domxref("DocumentType")}}</td> + <td>Значение {{domxref("DocumentType.name")}}</td> + </tr> + <tr> + <td>{{domxref("Element")}}</td> + <td>Значение {{domxref("Element.tagName")}}</td> + </tr> + <tr> + <td>{{domxref("Entity")}}</td> + <td>имя сущности</td> + </tr> + <tr> + <td>{{domxref("EntityReference")}}</td> + <td>Имя сущности ссылки</td> + </tr> + <tr> + <td>{{domxref("Notation")}}</td> + <td>Название обозначения</td> + </tr> + <tr> + <td>{{domxref("ProcessingInstruction")}}</td> + <td> + <p>Значение {{domxref("ProcessingInstruction.target")}}</p> + </td> + </tr> + <tr> + <td>{{domxref("Text")}}</td> + <td><code>"#text"</code></td> + </tr> + </tbody> +</table> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">var <em>str</em> = <em>node</em>.nodeName; +</pre> + +<h2 id="Пример">Пример</h2> + +<p>Учитывая следующую разметку:</p> + +<pre class="brush:html"><div id="d1">hello world</div> +<input type="text" id="t"/> +</pre> + +<p>и следующий скрипт:</p> + +<pre class="brush:js">var div1 = document.getElementById("d1"); +var text_field = document.getElementById("t"); + +text_field.value = div1.nodeName; +</pre> + +<p>В XHTML (или любых других форматов XML), значение <code>text_field</code> будет прочитано как "div". Тем не мение, в HTML, значение <code>text_field</code> будет прочитано как "DIV", потому что <code>nodeName</code> и <code>tagName</code> возвращают в верхнем регистре элементы HTML в DOM помеченом как HTML документ. Узнайте больше <a href="http://ejohn.org/blog/nodename-case-sensitivity/">деталей о чувствительности регистра nodeName в различных браузерах.</a></p> + +<p>Обратите внимание, что свойство <code><a href="/en-US/docs/DOM/element.tagName" title="DOM/element.tagName">tagName</a></code> можно было бы использовать вместо него, поскольку <code>nodeName</code> имеет тоже значение что и <code>tagName</code> для элемента. Однако имейте в виду, что <code>nodeName</code> будет возвращать <code>#text</code> для текстого узла, в то время как <code>tagName</code> будет возвращать <code>undefined</code>.</p> + +<h2 id="Спецификации">Спецификации</h2> + +<ul> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68D095">DOM Level 2 Core: Node.nodeName</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-F68D095">DOM Level 3 Core: Node.nodeName</a></li> + <li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#apis-in-html-documents">HTML 5: APIs in HTML documents</a></li> +</ul> diff --git a/files/ru/web/api/node/nodeprincipal/index.html b/files/ru/web/api/node/nodeprincipal/index.html new file mode 100644 index 0000000000..7f654f83f4 --- /dev/null +++ b/files/ru/web/api/node/nodeprincipal/index.html @@ -0,0 +1,28 @@ +--- +title: Node.nodePrincipal +slug: Web/API/Node/nodePrincipal +translation_of: Web/API/Node +--- +<div> +<div>{{APIRef("DOM")}}</div> +{{Non-standard_header}} + +<p>Свойство <code><strong>Node.nodePrincipal</strong></code> только для чтения, возвращающее объект {{Interface("nsIPrincipal")}}, представляющий текущий контекст безопасности узла.</p> + +<p>{{Note("Это свойство существует во всех узлах (HTML, XUL, SVG, MathML, и т.д.), но только если скрипт пытается использовать chrome привилегии.")}}</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>principalObj</em> = element.nodePrincipal +</pre> + +<h2 id="Notes" name="Notes">Примечания</h2> + +<p>Это свойство только для чтения; пытаясь вводить информацию в него, будет сбрасывать исключение.<span id="result_box" lang="ru"><span class="hps">Кроме того,</span> <span class="hps">это свойство может</span> <span class="hps">быть</span> <span class="hps">доступно только для</span> <span class="hps">привилегированного</span> <span class="hps">кода.</span></span></p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<p>Нет никакой спецификации.</p> +</div> + +<p> </p> diff --git a/files/ru/web/api/node/nodetype/index.html b/files/ru/web/api/node/nodetype/index.html new file mode 100644 index 0000000000..607596cc83 --- /dev/null +++ b/files/ru/web/api/node/nodetype/index.html @@ -0,0 +1,93 @@ +--- +title: Node.nodeType +slug: Web/API/Node/nodeType +translation_of: Web/API/Node/nodeType +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Доступное только для чтения свойство <code>Node.nodeType</code> возвращает беззнаковое короткое целочисленное значение, представляющее тип узла.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <var>type</var> = <var>node</var>.nodeType; +</pre> + +<p><code>type</code> – беззнаковое короткое целочисленное значение с одним из следующих значений:</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Name</th> + <th scope="col">Value</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/en-US/docs/Web/API/Element"><code>ELEMENT_NODE</code></a></td> + <td><code>1</code></td> + </tr> + <tr> + <td><code>ATTRIBUTE_NODE</code> {{deprecated_inline()}}</td> + <td><code>2</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/API/Text"><code>TEXT_NODE</code></a></td> + <td><code>3</code></td> + </tr> + <tr> + <td><code>CDATA_SECTION_NODE</code> {{deprecated_inline()}}</td> + <td><code>4</code></td> + </tr> + <tr> + <td><code>ENTITY_REFERENCE_NODE</code> {{deprecated_inline()}}</td> + <td><code>5</code></td> + </tr> + <tr> + <td><code>ENTITY_NODE</code> {{deprecated_inline()}}</td> + <td><code>6</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/API/ProcessingInstruction"><code>PROCESSING_INSTRUCTION_NODE</code></a></td> + <td><code>7</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/API/document.createComment"><code>COMMENT_NODE</code></a></td> + <td><code>8</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/HTML/Element/html"><code>DOCUMENT_NODE</code></a></td> + <td><code>9</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/API/document.doctype"><code>DOCUMENT_TYPE_NODE</code></a></td> + <td><code>10</code></td> + </tr> + <tr> + <td><a href="/en-US/docs/Web/API/DocumentFragment"><code>DOCUMENT_FRAGMENT_NODE</code></a></td> + <td><code>11</code></td> + </tr> + <tr> + <td><code>NOTATION_NODE</code> {{deprecated_inline()}}</td> + <td><code>12</code></td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">Пример</h2> + +<p>В примере проверяется, является ли первый узел внутри <code>documentElement</code> узлом комментария, если нет, то выводится сообщение.</p> + +<pre class="brush: js">var node = document.documentElement.firstChild; +if (node.nodeType != Node.COMMENT_NODE) + console.log("You should comment your code well!"); +</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-111237558">DOM Level 2 Core: Node.nodeType</a></li> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-111237558">DOM Level 3 Core: Node.nodeType</a></li> + <li><a class="external" href="http://dom.spec.whatwg.org/#node">DOM Standard</a></li> +</ul> diff --git a/files/ru/web/api/node/nodevalue/index.html b/files/ru/web/api/node/nodevalue/index.html new file mode 100644 index 0000000000..62655c1875 --- /dev/null +++ b/files/ru/web/api/node/nodevalue/index.html @@ -0,0 +1,86 @@ +--- +title: Node.nodeValue +slug: Web/API/Node/nodeValue +translation_of: Web/API/Node/nodeValue +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.nodeValue</strong></code> возвращает или устанавливает значение текущего узла.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>value</var> = <var>node</var>.nodeValue; +</pre> + +<p><code>value</code> это строка содержащая значение текущего узла, если таковой имеется.</p> + +<h2 id="Notes" name="Notes">Примечания</h2> + +<p>Для самого документа, <code>nodeValue</code> возвращает <code>null</code>. Для текста, коментария и CDATA узлов, <code>nodeValue</code> возвращает содержимое узла. Для узла атрибута, вернется значение атрибута.</p> + +<p>Следующая таблица, показывает возвращаемые значения различных элементов:</p> + +<table> + <thead> + <tr> + <th>Attr</th> + <th>Значение атрибута</th> + </tr> + </thead> + <tbody> + <tr> + <td>CDATASection</td> + <td>Содержимое секции CDATA</td> + </tr> + <tr> + <td>Comment</td> + <td>Содержимое комментария</td> + </tr> + <tr> + <td>Document</td> + <td>null</td> + </tr> + <tr> + <td>DocumentFragment</td> + <td>null</td> + </tr> + <tr> + <td>DocumentType</td> + <td>null</td> + </tr> + <tr> + <td>Element</td> + <td>null</td> + </tr> + <tr> + <td>NamedNodeMap</td> + <td>null</td> + </tr> + <tr> + <td>EntityReference</td> + <td>null</td> + </tr> + <tr> + <td>Notation</td> + <td>null</td> + </tr> + <tr> + <td>ProcessingInstruction</td> + <td>Все содержимое исключая цель</td> + </tr> + <tr> + <td>Text</td> + <td>Содержимое текстового узла</td> + </tr> + </tbody> +</table> + +<p>Когда <code>nodeValue</code> равно <code>null</code>, установки не имеют эффекта.</p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68D080">DOM Level 2 Core: Node.nodeValue</a></li> +</ul> diff --git a/files/ru/web/api/node/normalize/index.html b/files/ru/web/api/node/normalize/index.html new file mode 100644 index 0000000000..03c5d9e044 --- /dev/null +++ b/files/ru/web/api/node/normalize/index.html @@ -0,0 +1,43 @@ +--- +title: Node.normalize() +slug: Web/API/Node/normalize +translation_of: Web/API/Node/normalize +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Метод <code><strong>Node.normalize()</strong></code> преобразует указанный узел и все его под-деревья в "нормализованный" вид. В нормализованном под-дереве нет ни пустых, ни смежных текстовых узлов.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>element</em>.normalize(); +</pre> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">var wrapper = document.createElement("div"); + +wrapper.appendChild( document.createTextNode("Part 1 ") ); +wrapper.appendChild( document.createTextNode("Part 2 ") ); + +// At this point, wrapper.childNodes.length === 2 +// wrapper.childNodes[0].textContent === "Part 1 " +// wrapper.childNodes[1].textContent === "Part 2 " + +wrapper.normalize(); + +// Now, wrapper.childNodes.length === 1 +// wrapper.childNodes[0].textContent === "Part 1 Part 2 "</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-normalize">DOM Level 2 Core: Node.normalize</a></li> +</ul> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li><a href="/en-US/docs/DOM/Text.splitText" title="DOM/Text.splitText"><code>Text.splitText</code></a></li> +</ul> diff --git a/files/ru/web/api/node/ownerdocument/index.html b/files/ru/web/api/node/ownerdocument/index.html new file mode 100644 index 0000000000..5c0fa52e58 --- /dev/null +++ b/files/ru/web/api/node/ownerdocument/index.html @@ -0,0 +1,94 @@ +--- +title: Node.ownerDocument +slug: Web/API/Node/ownerDocument +translation_of: Web/API/Node/ownerDocument +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.ownerDocument</strong></code> только для чтения, возвращающее объект документа верхнего уровня для этого узла.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>document</em> = element.ownerDocument +</pre> + +<ul> + <li><code>document</code> это объект <a href="/en-US/docs/DOM/document" title="DOM/document"><code>document</code></a> родитель текущего элемента.</li> +</ul> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">// given a node "p", get the top-level HTML child +// of the document object + +var d = p.ownerDocument; +var html = d.documentElement; +</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p>Объект <code>document</code>, возвращаемый этим свойством, это основной объект с которым все дочерние узлы в настоящем HTML документе созданы. Если это свойство используется для узла самого документа, результат будет <code>null</code>.</p> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>6.0 [1]</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] <a href="http://msdn.microsoft.com/en-us/library/ie/ms534315(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/ie/ms534315(v=vs.85).aspx</a></p> + +<h3 id="Gecko_примечание">Gecko примечание</h3> + +<p>Начиная с Gecko 9.0 {{geckoRelease("9.0")}}, <code>ownerDocument</code> узлы doctype (т.е. для которых {{domxref("Node.nodeType")}} это <code>Node.DOCUMENT_TYPE_NODE</code> или 10) больше не null. Вместо этого, <code>ownerDocument</code> это документ по которому <a href="/en-US/docs/DOM/DOMImplementation.createDocumentType" title="DOM/DOMImplementation.createDocumentType"><code>document.implementation.createDocumentType()</code></a> будет вызван.</p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc">DOM Level 2 Core: Node.ownerDocument</a></li> +</ul> diff --git a/files/ru/web/api/node/parentelement/index.html b/files/ru/web/api/node/parentelement/index.html new file mode 100644 index 0000000000..da4c085552 --- /dev/null +++ b/files/ru/web/api/node/parentelement/index.html @@ -0,0 +1,86 @@ +--- +title: Node.parentElement +slug: Web/API/Node/parentElement +translation_of: Web/API/Node/parentElement +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.parentElement</strong></code> только для чтения, возвращает родителя узла DOM {{domxref("Element")}}, или <code>null</code> если узел не имеет родителя, или его родитель не DOM {{domxref("Element")}}.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>parentElement</em> = <em>node</em>.parentElement</pre> + +<p><code>parentElement</code> это родительский элемент текущего узла. Это всегда объект DOM {{domxref("Element")}}, или <code>null</code>.</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">if (node.parentElement) { + node.parentElement.style.color = "red"; +}</pre> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>В некоторых браузерах, свойство <code>parentElement</code> определено только для узлов, которые сами {{domxref("Element")}}. В частности, не определено для текстовых узлов.</p> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая подержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoDesktop("9.0")}}</td> + <td>{{CompatVersionUnknown}} (only on {{domxref("Element")}})</td> + <td>{{CompatVersionUnknown}} (only on {{domxref("Element")}})</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("9.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li>{{spec("http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#parent-element", "DOM Level 4: Node.parentElement", "WD")}}</li> +</ul> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{domxref("Node.parentNode")}}</li> +</ul> diff --git a/files/ru/web/api/node/parentnode/index.html b/files/ru/web/api/node/parentnode/index.html new file mode 100644 index 0000000000..139880247f --- /dev/null +++ b/files/ru/web/api/node/parentnode/index.html @@ -0,0 +1,102 @@ +--- +title: Node.parentNode +slug: Web/API/Node/parentNode +tags: + - API + - DOM + - Method +translation_of: Web/API/Node/parentNode +--- +<div>{{ApiRef}}</div> + +<h2 id="Summary" name="Summary">Аннотация</h2> + +<p>Возвращает родителя определенного элемента DOM дерева.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>parentNode</em> = <em>node</em>.parentNode +</pre> + +<p><code>parentNode</code> родитель текущего элемента. Родитель элемента является <code>Element</code> узлом, <code>Document</code> узлом, или <code>DocumentFragment</code> узлом.</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">if (node.parentNode) { + // удаляем элемент из дерева + node.parentNode.removeChild(node); +}</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p><code>Document</code> и <code>DocumentFragment</code> <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node.nodeType">nodes</a> <em> могут не иметь родителя</em>, в этом случае <code>parentNode</code> всегда возвращает <code>null</code>.</p> + +<p>Так же возвращает <code>null</code> если элемент только был создан и еще не добавлен в DOM дерево.</p> + +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Firefox (Gecko)</th> + <th>Chrome</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatGeckoDesktop(1.0)}}</td> + <td>0.2</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoMobile(1)}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1060184317">DOM Level 2 Core: Node.parentNode</a></li> + <li><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1060184317">DOM Level 3 Core: Node.parentNode</a></li> +</ul> + +<h2 id="See_also" name="See_also">См. также</h2> + +<ul> + <li>{{Domxref("Node.firstChild")}}</li> + <li>{{Domxref("Node.lastChild")}}</li> + <li>{{Domxref("Node.childNodes")}}</li> + <li>{{Domxref("Node.nextSibling")}}</li> + <li>{{Domxref("Node.previousSibling")}}</li> + <li>{{Domxref("Node.removeChild")}}</li> +</ul> diff --git a/files/ru/web/api/node/prefix/index.html b/files/ru/web/api/node/prefix/index.html new file mode 100644 index 0000000000..f0db5aa76f --- /dev/null +++ b/files/ru/web/api/node/prefix/index.html @@ -0,0 +1,90 @@ +--- +title: Node.prefix +slug: Web/API/Node/prefix +translation_of: Web/API/Node/prefix +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.prefix</strong></code> только для чтения, возвращающее префикс пространства имен указанного узла или <code>null,</code> если не указан префикс. Это свойство только для чтения.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>string</var> = element.prefix +</pre> + +<h2 id="Examples" name="Examples">Пример</h2> + +<p>Следующее выражение выведет "x".</p> + +<pre class="brush:xml"><x:div onclick="alert(this.prefix)"/> +</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<p>Это будет работать только когда используется соответствующий парсер пространства имен. т.е. когда документ обработан как XML mime-type. Это не будет роботать для документов HTML.</p> + +<h2 id="Specification" name="Specification">Спицификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-NodeNSPrefix">Node.prefix</a> (введено в употребление в DOM2)</li> +</ul> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td> + <p>{{CompatVersionUnknown}}</p> + + <p>До Gecko 5.0 {{geckoRelease("5.0")}}, это свойство было для чтения-записи; Специфифкация говорит что должно быть, толко для чтения и теперь это так.</p> + </td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Свойство</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td> + <p>{{CompatVersionUnknown}}</p> + + <p>До Gecko 5.0 {{geckoRelease("5.0")}}, это свойство было для чтения-записи; Спецификация говорит, что должно быть только для чтения и теперь это так.</p> + </td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> diff --git a/files/ru/web/api/node/previoussibling/index.html b/files/ru/web/api/node/previoussibling/index.html new file mode 100644 index 0000000000..7da55e04c3 --- /dev/null +++ b/files/ru/web/api/node/previoussibling/index.html @@ -0,0 +1,51 @@ +--- +title: Node.previousSibling +slug: Web/API/Node/previousSibling +tags: + - API + - DOM + - Gecko + - Property + - Свойство + - Узел + - Узлы +translation_of: Web/API/Node/previousSibling +--- +<div> +<div>{{APIRef("DOM")}}</div> +</div> + +<p>Свойство <code><strong>Node.previousSibling</strong></code> используется только для чтения, оно возвращает узел предшедствующий указанному в родительском элементе {{domxref("Node.childNodes", "childNodes")}}, или <code>null</code>, если указанный узел первый в своём родителе.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><var>previousNode</var> = <em>node</em>.previousSibling; +</pre> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush:js">// <a><b1 id="b1"/><b2 id="b2"/></a> + +alert(document.getElementById("b1").previousSibling); // null +alert(document.getElementById("b2").previousSibling.id); // "b1" +</pre> + +<h2 id="Notes" name="Notes">Примечание</h2> + +<div><p>Браузеры, основанные на Gecko, вставляют текстовые узлы в документ для представления пробелов в разметке. + Поэтому узел, полученный, например, при использовании <a href="/ru/docs/Web/API/Node/firstChild" title="Свойство Node.firstChild только для чтения, возвращающее первый потомок узла в древе или null, если узел является бездетным. Если узел это документ, он возвращает первый узел в списке своих прямых детей."><code>Node.firstChild</code></a> или <a href="/ru/docs/Web/API/Node/previousSibling" title="Свойство Node.previousSibling используется только для чтения, оно возвращает узел предшедствующий указанному в родительском элементе childNodes, или null, если указанный узел первый в своём родителе."><code>Node.previousSibling</code></a> может относиться к + пробелу, а не к тому элементу, который автор хотел получить.</p> + + <p>Смотрите <a class="new" href="/ru/docs/Web/Guide/DOM/Whitespace_in_the_DOM" rel="nofollow">Пробел в DOM</a> и + <a class="external" href="http://www.w3.org/DOM/faq.html#emptytext" rel="noopener">W3C DOM 3 FAQ: Почему некоторые текстовые узлы пустые?</a> + для дополнительной информации.</p></div> + +<p>Для навигации через список дочерних узлов в обратном порядке используйте <a href="/en-US/docs/Web/API/Node.nextSibling" title="DOM/Node.nextSibling">Node.nextSibling</a>.</p> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#attribute-previousSibling">DOM Level 1 Core: previousSibling</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-640FB3C8">DOM Level 2 Core: previousSibling</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-640FB3C8">DOM Level 3 Core: previousSibling</a></li> +</ul> diff --git a/files/ru/web/api/node/removechild/index.html b/files/ru/web/api/node/removechild/index.html new file mode 100644 index 0000000000..738dadbaa6 --- /dev/null +++ b/files/ru/web/api/node/removechild/index.html @@ -0,0 +1,76 @@ +--- +title: Node.removeChild +slug: Web/API/Node/removeChild +tags: + - API + - DOM + - DOM Element Methods + - Method +translation_of: Web/API/Node/removeChild +--- +<div>{{ApiRef}}</div> + +<h2 id="Summary" name="Summary">Аннотация</h2> + +<p>Удаляет дочерний элемент из DOM. Возвращает удаленный элемент.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox"><em>var oldChild</em> = <em>element</em>.removeChild(<em>child</em>); +<em>element</em>.removeChild(<em>child</em>); +</pre> + +<ul> + <li><code>child</code> дочерний элемент который будет удален из DOM.</li> + <li><code>element</code> родительский элемент удаляемого <code>child</code>.</li> + <li><code>oldChild</code> ссылка на удаляемый дочерний элемент. <code>oldChild</code> === <code>child</code>.</li> +</ul> + +<p>Удаленный дочерний элемент остается в памяти, но больше не является частью DOM. Вы можете повторно использовать удаленный элемент с помощью ссылки на объект - <code>oldChild</code>.</p> + +<p>Если <code>child</code> не является дочерним элементом <code>element</code>, тогда метод генерирует исключение. Также это происходит если <code>child</code> является дочерним элементом <code>element</code> во время вызова метода, но был удален во время вызова обработчика событий удаляющего элемент(т.e при удалении элемента непосредственно перед вызовом обработчика событий).</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre><!-- Пример --> + +<div id="top" align="center"> + <div id="nested"></div> +</div> +</pre> + +<pre class="brush:js">// <em>Удаление элемента с известным родителем</em> +var d = document.getElementById("top"); +var d_nested = document.getElementById("nested"); +var throwawayNode = d.removeChild(d_nested); +</pre> + +<pre class="brush:js">// Удаление элемента без указания его родителя +var node = document.getElementById("nested"); +if (node.parentNode) { + node.parentNode.removeChild(node); +} +</pre> + +<pre class="brush:js">// Удаление всех дочерних элементов +var element = document.getElementById("top"); +while (element.firstChild) { + element.removeChild(element.firstChild); +} +</pre> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#method-removeChild">DOM Level 1 Core: removeChild</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1734834066">DOM Level 2 Core: removeChild</a></li> + <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1734834066">DOM Level 3 Core: removeChild</a></li> +</ul> + +<h2 id="See_also" name="See_also">См. также</h2> + +<ul> + <li>{{domxref("Node.replaceChild")}}</li> + <li>{{domxref("Node.parentNode")}}</li> + <li>{{domxref("ChildNode.remove")}}</li> +</ul> diff --git a/files/ru/web/api/node/textcontent/index.html b/files/ru/web/api/node/textcontent/index.html new file mode 100644 index 0000000000..479fae01e3 --- /dev/null +++ b/files/ru/web/api/node/textcontent/index.html @@ -0,0 +1,123 @@ +--- +title: Node.textContent +slug: Web/API/Node/textContent +tags: + - API + - Command API + - DOM + - Node + - Property + - Reference +translation_of: Web/API/Node/textContent +--- +<p>{{ApiRef}}</p> + +<h2 id="Summary" name="Summary">Аннотация</h2> + +<p>Позволяет задавать или получать текстовое содержимое элемента и его потомков.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre class="syntaxbox">var <em>text</em> = element.textContent; +element.textContent = "Это просто текст"; +</pre> + +<h2 id="Notes" name="Notes">Описание</h2> + +<ul> + <li><code>textContent</code> возвращает <code>null,</code> <em> </em>если узел является <a href="/en-US/docs/DOM/document" title="DOM/Document">документом</a>, типом документа, или его описанием<em>.</em> Для получения <em>всего</em> текста и CDATA-данных во всём документе можно использовать <code> <a href="/en-US/docs/DOM/document.documentElement" title="DOM/document.documentElement">document.documentElement</a>.textContent</code>.</li> + <li>Если узел является CDATA, комментарием, инструкцией, или текстовым элементом, <code>textContent</code> возвращает текст внутри узла в виде строки (т.н. <a href="/en-US/docs/DOM/Node.nodeValue" title="DOM/Node/NodeValue/Node.nodeValue">nodeValue</a>).</li> + <li>Для узлов других типов <code>textContent</code> возвращает конкатенацию свойств <code>textContent</code> всех дочерних узлов, исключая комментарии и строки кода. Если узел не имеет дочерних узлов, будет возвращена пустая строка.</li> + <li>Установка данного значения удаляет все дочерние узлы и заменяет их единичным текстовым узлом с указанным значением.</li> +</ul> + +<h3 id="Отличие_от_innerText">Отличие от <code>innerText</code></h3> + +<p><code>element.innerText</code> был введен Internet Explorer-ом. Работает по тому же принципу за небольшими исключениями:</p> + +<ul> + <li><code>textContent</code> получает содержимое <em>всех</em> элементов, включая {{HTMLElement("script")}} и {{HTMLElement("style")}}, тогда как <code>innerText</code> этого не делает.</li> + <li><code>innerText</code> умеет считывать стили и не возвращает содержимое скрытых элементов, тогда как <code>textContent</code> этого не делает.</li> + <li>Метод <code>innerText</code> позволяет получить CSS, а <code>textContent</code> — нет.</li> +</ul> + +<h3 id="Отличие_от_innerHTML">Отличие от <code>innerHTML</code></h3> + +<p><code>innerHTML</code>, как можно понять из его названия, возвращает HTML. Довольно часто <code>innerHTML</code> используется для получения или записи текста в элемент. Тем не менее, вместо него желательно использовать <code>textContent</code>: этот метод потребляет гораздо меньше ресурсов, так как текст парсится как текст, а не HTML. Кроме того, это защищает от <span title="cross-site scripting">XSS</span> атак.</p> + +<h2 id="Example" name="Example">Пример</h2> + +<pre class="brush: js">// Дан следующий фрагмент: +// <div id="block">Это — <span>просто</span> текст</div> + +// Достаем текстовое содержимое: +var text = document.getElementById("block").textContent; +// В переменной |text| находится: "Это — просто текст". + +// Меняем текст: +document.getElementById("block").textContent = "Это — просто текст"; +// Теперь наш фрагмент выглядит так: +// <div id="block">Это — просто текст</div> +</pre> + +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>1+</td> + <td>{{CompatVersionUnknown}}</td> + <td>9</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Specification" name="Specification">Спецификация</h2> + +<ul> + <li><a class="external" href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#Node3-textContent">textContent</a></li> +</ul> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li><a href="http://perfectionkills.com/the-poor-misunderstood-innerText/">Подробнее о различиях <code>innerText</code> и <code>textContent</code></a> (пост в блоге)</li> +</ul> |