From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/node/index.html | 367 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 files/ru/web/api/node/index.html (limited to 'files/ru/web/api/node/index.html') 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 +--- +
{{APIRef("DOM")}}
+ +

Node это интерфейс, от которого наследуют несколько типов DOM, он так же позволяет различным типам быть обработанными(или протестированными).

+ +

Следующие интерфейсы полностью наследуют от Node его методы и свойства: {{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")}}

+ +

Эти интерфейсы могут возвращать null в особых случаях, когда методы и свойства не уместны. Они могут сбросить исключение - например, когда добавляются дети к типу узла, у которого не может их существовать.

+ +

Свойства

+ +

Наследует свойства от родителей {{domxref("EventTarget")}}.[1]

+ +
+
{{domxref("Node.baseURI")}} {{readonlyInline}}
+
Возвращает {{domxref("DOMString")}} показывающие основной URL. Понятие основного URL изменяется из одного языка в другой; В HTML, это соответствует протоколу , доменному имени и структуре каталогов, все до последнего '/'.
+
{{domxref("Node.baseURIObject")}} {{Non-standard_inline()}} {{ Fx_minversion_inline("3") }}
+
(Не доступно для веб-контента.) Только для чтения. Объект {{ Interface("nsIURI") }}, представляющий базовый URI элемента.
+
{{domxref("Node.childNodes")}} {{readonlyInline}}
+
Возвращает живой {{domxref("NodeList")}}, содержащий всех потомков данного узла. Живой {{domxref("NodeList")}} означает то, что если потомки узла изменяются, объект {{domxref("NodeList")}} автоматически обновляется.
+
{{domxref("Node.firstChild")}} {{readonlyInline}}
+
Возвращает {{domxref("Node")}}, представляющий первый прямой узел потомок узла или null, если узел не имеет потомков.
+
{{domxref("Node.lastChild")}} {{readonlyInline}}
+
Возвращает {{domxref("Node")}}, представляющий последний прямой узел потомок узла или null, если узел не имеет потомков.
+
{{domxref("Node.localName")}} {{obsolete_inline}}{{readonlyInline}}
+
Возвращает {{domxref("DOMString")}} представляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML {{ gecko_minversion_inline("1.9.2") }}. Хотя недавние спецификации требуют от localName быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.
+
{{domxref("Node.namespaceURI")}} {{obsolete_inline}}{{readonlyInline}}
+
Пространство имен URI данного узла или null, если нет пространства имен. В Firefox 3.5 и более ранних версиях, HTML элементы не имееют пространства имен. В более поздних версиях, HTML элементы находятся в пространстве имен http://www.w3.org/1999/xhtml для деревьев HTML и XML. {{ gecko_minversion_inline("1.9.2") }}
+ Хотя недавние спецификации требуют namespaceURI быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.
+
{{domxref("Node.nextSibling")}} {{readonlyInline}}
+
Возвращает {{domxref("Node")}} представляющий следующий узел в древе или null, если не такого узла.
+
{{domxref("Node.nodeName")}} {{readonlyInline}}
+
Возвращает {{domxref("DOMString")}} содержащий имя узла. Структура имени будет отличаться от типа имени. Например, {{domxref("HTMLElement")}} будет содержать имя соответствующего тега: 'audio' для {{domxref("HTMLAudioElement")}}, узел {{domxref("Text")}} будет строкой '#text' или узел {{domxref("Document")}} будет строкой '#document'.
+
{{domxref("Node.nodePrincipal")}} {{Non-standard_inline()}}{{ Fx_minversion_inline("3") }}
+
{{ Interface("nsIPrincipal") }} представляет основной узел.
+
{{domxref("Node.nodeType")}}{{readonlyInline}}
+
Возвращает беззнаковое короткое число (unsigned short) представляющее тип узла. Возможные значения: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ИмяЗначение
ELEMENT_NODE1
ATTRIBUTE_NODE {{deprecated_inline()}}2
TEXT_NODE3
CDATA_SECTION_NODE {{deprecated_inline()}}4
ENTITY_REFERENCE_NODE {{deprecated_inline()}}5
ENTITY_NODE {{deprecated_inline()}}6
PROCESSING_INSTRUCTION_NODE7
COMMENT_NODE8
DOCUMENT_NODE9
DOCUMENT_TYPE_NODE10
DOCUMENT_FRAGMENT_NODE11
NOTATION_NODE {{deprecated_inline()}}12
+
+
{{domxref("Node.nodeValue")}}
+
Это {{domxref("DOMString")}}, представляющее значение объектов. Для большинства типов Node, возвращает null и любой набор операция игнорируется. Для узлов типа TEXT_NODE ({{domxref("Text")}} objects), COMMENT_NODE ({{domxref("Comment")}} objects), и PROCESSING_INSTRUCTION_NODE ({{domxref("ProcessingInstruction")}} objects), значение соответствует текстовым данным, содержащихся в объекте.
+
{{domxref("Node.ownerDocument")}} {{readonlyInline}}
+
Возвращает {{domxref("Document")}} к которому принадлежит этот узел. Если нет связанного сним документа, возвращает null.
+
{{domxref("Node.parentNode")}} {{readonlyInline}}
+
Возвращает {{domxref("Node")}} который является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернет null.
+
{{domxref("Node.parentElement")}} {{readonlyInline}}
+
Возвращает {{domxref("Element")}} который является родителем данного узла. Если узел не имеет родителя или если родитель не {{domxref("Element")}}, это свойство вернет null.
+
{{domxref("Node.prefix")}} {{obsolete_inline}}{{readonlyInline}}
+
{{domxref("DOMString")}} представляющий префикс пространства имен узла или null если нет префикса точно определенного.
+ Хотя недавние спецификации требуют того, чтобы префикс был определен как интерфейс {{domxref("Element")}}, браузеры основанные на Gecko еще реализовывают его как интерфейс {{domxref("Node")}}.
+
{{domxref("Node.previousSibling")}} {{readonlyInline}}
+
Возвращают {{domxref("Node")}} представляющий предыдущий узел древа или null, если нет такого узла.
+
{{domxref("Node.textContent")}}
+
Это {{domxref("DOMString")}} представляющее текстовый контент элемента и всех его потомков.
+
+ +

Методы

+ +

Наследует методы от своих родителей {{domxref("EventTarget")}}.[1]

+ +
+
{{domxref("Node.appendChild()")}}
+
Вставляет {{domxref("Node")}} как последний дочерний узел данного элемента.
+
{{domxref("Node.cloneNode()")}}
+
Клонирует {{domxref("Node")}}, и опционально, все его компоненты. По умолчанию, оно клонирует содержимое узла.
+
{{domxref("Node.compareDocumentPosition()")}}
+
 
+
{{domxref("Node.contains()")}}
+
 
+
{{domxref("Node.getFeature()")}} {{obsolete_inline}}
+
...
+
{{domxref("Node.getUserData()")}} {{obsolete_inline}}
+
Позволяет пользователю получить некоторый {{domxref("DOMUserData")}} от узла.
+
{{domxref("Node.hasAttributes()")}} {{obsolete_inline}}
+
Возвращает {{domxref("Boolean")}} показывающий, есть ли у элемента какие-либо атрибуты или нет.
+
{{domxref("Node.hasChildNodes()")}}
+
Возвращает {{domxref("Boolean")}} показывающий, есть ли у элемента дочерние узлы или нет.
+
{{domxref("Node.insertBefore()")}}
+
Вставляет первым {{domxref("Node")}} данный в качестве параметра, непосредственно перед вторым, потомком данного элемента {{domxref("Node")}}.
+
{{domxref("Node.isDefaultNamespace()")}}
+
 
+
{{domxref("Node.isEqualNode()")}}
+
 
+
{{domxref("Node.isSameNode()")}} {{obsolete_inline}}
+
 
+
{{domxref("Node.isSupported()")}} {{obsolete_inline}}
+
Возвращает Boolean флаг содержащий результаты теста, реализует ли реализация DOM конкретную особенность и поддерживается ли эта особенность конкретным узлом.
+
{{domxref("Node.lookupPrefix()")}}
+
 
+
{{domxref("Node.lookupNamespaceURI()")}}
+
 
+
{{domxref("Node.normalize()")}}
+
Очищает все текстовые узлы под этим элементом (поглотить смежный, удалить пустой).
+
{{domxref("Node.removeChild()")}}
+
Удаляет дочерний узел из текущего элемента, который должен быть потомком текущего узла.
+
{{domxref("Node.replaceChild()")}}
+
Заменяет одного потомка {{domxref("Node")}} из существующего на второй указанный в параметре.
+
{{domxref("Node.setUserData()")}} {{obsolete_inline}}
+
Позволяет пользователю присоединить или удалить {{domxref("DOMUserData")}} к узлу.
+
 
+
+ +

Примеры

+ +

Просмотреть все дочерние узлы

+ +

Следующая функция рекурсивный цикл всех дочерних узлов узла и она исполняет вызов функции относительно их (и себя относительно родительского узла).

+ +
function DOMComb (oParent, oCallback) {
+  if (oParent.hasChildNodes()) {
+    for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) {
+      DOMComb(oNode, oCallback);
+    }
+  }
+  oCallback.call(oParent);
+}
+ +

Синтаксис

+ +
DOMComb(parentNode, callbackFunction);
+ +

Описание

+ +

Рекурсивный цикл всех дочерних узлов parentNode и самого parentNode, выполняет callbackFunction относительно их  как эти объекты.

+ +

Параметры

+ +
+
parentNode
+
Родительский узел (Node Object).
+
callbackFunction
+
Обратный вызов функции (Function).
+
+ +

Пример использования

+ +

Следующий пример отправляет в console.log текстовое содержимое body:

+ +
function printContent () {
+  if (this.nodeValue) { console.log(this.nodeValue); }
+}
+
+onload = function () {
+  DOMComb(document.body, printContent);
+};
+ +

Удалить все потомки, вложенные в узел

+ +
Element.prototype.removeAll = function () {
+  while (this.firstChild) { this.removeChild(this.firstChild); }
+  return this;
+};
+ +

Пример использования

+ +
/* ... как альтернатива document.body.innerHTML = "" ... */
+document.body.removeAll();
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СецификацияСтатусКоментарий
{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}{{Spec2('DOM WHATWG')}}Удалены следующие свойства: attributes, namespaceURI, prefix, и localName.
+ Удалены следующие методы: isSupported(), hasAttributes(), isSameNode(), getFeature(), setUserData(), и getUserData().
{{SpecName('DOM3 Core', 'core.html#ID-1950641247', 'Node')}}{{Spec2('DOM3 Core')}}Методы insertBefore(), replaceChild(), removeChild(), and appendChild() возвращают еще один вид ошибок (NOT_SUPPORTED_ERR) если вызваны из {{domxref("Document")}}.
+ Метод normalize() был модифицирован таким образом, что узел {{domxref("Text")}} также может быть нормализован, если надлежащий флаг {{domxref("DOMConfiguration")}} установлен.
+ Добавлены следующие методы: compareDocumentPosition(), isSameNode(), lookupPrefix(), isDefaultNamespace(), lookupNamespaceURI(), isEqualNode(), getFeature(), setUserData(), and getUserData().
+ Добавлены следующие свойства: baseURI and textContent.
{{SpecName('DOM2 Core', 'core.html#ID-1950641247', 'Node')}}{{Spec2('DOM2 Core')}}Свойство ownerDocument был слегка изменен, так что {{domxref("DocumentFragment")}} также возвращает null.
+ Добавлены следующие свойства: namespaceURI, prefix, and localName.
+ Добавлены следующие методы: normalize(), isSupported() and hasAttributes().
{{SpecName('DOM1', 'level-one-core.html#ID-1950641247', 'Node')}}{{Spec2('DOM1')}}Изначальное описание.
+ +

 

+ +

Совместимость с браузерами

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СвойствоChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
getFeature(){{obsolete_inline}}{{CompatNo}}Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("6.0")}}.
+ Удалено в {{CompatGeckoDesktop("7.0")}}
{{CompatUnknown}}{{CompatNo}}{{CompatNo}}
getUserData(), setUserData() and hasAttributes() {{deprecated_inline}}{{CompatNo}}Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.
+ Удалено в {{CompatGeckoDesktop("22.0")}}
{{CompatUnknown}}{{CompatNo}}{{CompatNo}}
isSameNode() {{obsolete_inline}}{{CompatNo}}Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("9.0")}}.
+ Удалено в {{CompatGeckoDesktop("10.0")}}
{{CompatUnknown}}{{CompatNo}}{{CompatNo}}
isSupported() {{obsolete_inline}}{{CompatUnknown}}Поддерживаемые от  {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.
+ Удалено в {{CompatGeckoDesktop("22.0")}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
attributes{{CompatNo}}Поддерживаемые от {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("21.0")}}.
+ Перемещено к  {{domxref("Element")}} в {{CompatGeckoDesktop("22.0")}}
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
СвойствоAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
getFeature(){{obsolete_inline}}{{CompatNo}}Поддерживаемые от  {{CompatGeckoDesktop("1.0")}} до {{CompatGeckoDesktop("6.0")}}.
+ Удалено в {{CompatGeckoDesktop("7.0")}}
{{CompatUnknown}}{{CompatNo}}{{CompatNo}}
+
+ +

[1] Webkit и Blink неверно не делают Node наследуя от {{domxref("EventTarget")}}.

-- cgit v1.2.3-54-g00ecf