aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/childnode
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/api/childnode
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz
translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2
translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip
initial commit
Diffstat (limited to 'files/ru/web/api/childnode')
-rw-r--r--files/ru/web/api/childnode/index.html171
-rw-r--r--files/ru/web/api/childnode/remove/index.html148
-rw-r--r--files/ru/web/api/childnode/replacewith/index.html113
3 files changed, 432 insertions, 0 deletions
diff --git a/files/ru/web/api/childnode/index.html b/files/ru/web/api/childnode/index.html
new file mode 100644
index 0000000000..0d1ebf46ec
--- /dev/null
+++ b/files/ru/web/api/childnode/index.html
@@ -0,0 +1,171 @@
+---
+title: ChildNode
+slug: Web/API/ChildNode
+tags:
+ - API
+ - DOM
+ - Experimental
+ - Expérimental(2)
+ - NeedsTranslation
+ - TopicStub
+translation_of: Web/API/ChildNode
+---
+<p>{{APIRef("DOM")}}</p>
+
+<p>Интерфейс <code><strong>ChildNode</strong></code>  содержит методы, специфичные для объектов  {{domxref("Node")}}, которые имеют родителя.</p>
+
+<p><code>ChildNode</code> это просто интерфейс и ни один объект этого типа не может быть создан; он реализуется объектами {{domxref("Element")}}, {{domxref("DocumentType")}} и {{domxref("CharacterData")}}.</p>
+
+<h2 id="Properties">Properties</h2>
+
+<p><em>There is neither inherited, nor specific property.</em></p>
+
+<h2 id="Methods">Methods</h2>
+
+<p><em>Отсутствуют унаследованные методы.</em></p>
+
+<dl>
+ <dt>{{domxref("ChildNode.remove()")}} {{experimental_inline}}</dt>
+ <dd>Удаляет данный <code>ChildNode</code> из списка потомков его родителя.</dd>
+ <dt>{{domxref("ChildNode.before()")}} {{experimental_inline}}</dt>
+ <dd>Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this <code>ChildNode</code>'s parent, just before this <code>ChildNode</code>. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.</dd>
+ <dt>{{domxref("ChildNode.after()")}} {{experimental_inline}}</dt>
+ <dd>Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this <code>ChildNode</code>'s parent, just after this <code>ChildNode</code>. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.</dd>
+ <dt>{{domxref("ChildNode.replaceWith()")}} {{experimental_inline}}</dt>
+ <dd>Заменяет <code>ChildNode</code>  в списке потомков его родителя набором {{domxref("Node")}} или {{domxref("DOMString")}} объектов. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.</dd>
+</dl>
+
+<h2 id="Specifications">Specifications</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', '#interface-childnode', 'ChildNode')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>Интерфейс <code>ElementTraversal</code>  разделен на {{domxref("ParentNode")}} и <code>ChildNode</code>. Свойства <code>previousElementSibling</code> и <code>nextElementSibling</code> теперь определены в последнем.<br>
+ The {{domxref("CharacterData")}} and {{domxref("DocumentType")}} implemented the new interfaces.<br>
+ Добавлены методы <code>remove()</code>, <code>before()</code>, <code>after()</code> и <code>replaceWith()</code>.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('Element Traversal', '#interface-elementTraversal', 'ElementTraversal')}}</td>
+ <td>{{Spec2('Element Traversal')}}</td>
+ <td>Added the initial definition of its properties to the <code>ElementTraversal</code> pure interface and use it on {{domxref("Element")}}.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Polyfill">Polyfill</h2>
+
+<p>External on github: <a href="https://github.com/seznam/JAK/blob/master/lib/polyfills/childNode.js">childNode.js</a></p>
+
+<h2 id="Browser_compatibility">Browser compatibility</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 (on {{domxref("Element")}})</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>9.0</td>
+ <td>10.0</td>
+ <td>4.0</td>
+ </tr>
+ <tr>
+ <td>Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}}</td>
+ <td>23.0</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ <tr>
+ <td><code>remove()</code>{{experimental_inline}}</td>
+ <td>29.0</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ <tr>
+ <td><code>before()</code>, <code>after()</code>, and <code>replaceWith()</code> {{experimental_inline}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</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>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 (on {{domxref("Element")}})</td>
+ <td>{{ CompatVersionUnknown() }}</td>
+ <td>{{CompatGeckoMobile("23.0")}}</td>
+ <td>{{ CompatVersionUnknown() }}</td>
+ <td>10.0</td>
+ <td>{{ CompatVersionUnknown() }}</td>
+ </tr>
+ <tr>
+ <td>Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}}</td>
+ <td>{{ CompatVersionUnknown() }}</td>
+ <td>{{CompatGeckoMobile("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ <tr>
+ <td><code>remove()</code>{{experimental_inline}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ <tr>
+ <td><code>before()</code>, <code>after()</code>, and <code>replaceWith()</code> {{experimental_inline}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li>The {{domxref("ParentNode")}} pure interface.</li>
+ <li>
+ <div class="syntaxbox">Object types implementing this pure interface: {{domxref("CharacterData")}}, {{domxref("Element")}}, and {{domxref("DocumentType")}}.</div>
+ </li>
+</ul>
diff --git a/files/ru/web/api/childnode/remove/index.html b/files/ru/web/api/childnode/remove/index.html
new file mode 100644
index 0000000000..ff5b20cc2d
--- /dev/null
+++ b/files/ru/web/api/childnode/remove/index.html
@@ -0,0 +1,148 @@
+---
+title: Node.remove()
+slug: Web/API/ChildNode/remove
+translation_of: Web/API/ChildNode/remove
+---
+<p>Метод <code><strong>Node.remove()</strong></code> удаляет узел из дерева DOM</p>
+
+<p> </p>
+
+<p>То, что элемент удален из DOM, еще не значит, что он удален совсем! </p>
+
+<p>Он остался объектом и исчезнет только тогда, когда исчезнут все ссылки на него.</p>
+
+<p> </p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre><em>Node</em>.remove();
+</pre>
+
+<ul>
+ <li><strong><code>Node</code></strong> - любой узел DOM</li>
+</ul>
+
+<h2 id="Пример">Пример</h2>
+
+<h3 id="Использование_remove()">Использование remove()</h3>
+
+<pre>&lt;div id="box"&gt;
+ &lt;div id="one"&gt;&lt;/div&gt;
+ &lt;div id="two"&gt;&lt;/div&gt;
+&lt;/div&gt;</pre>
+
+<pre class="brush: js">var elem = document.querySelector("#one");
+elem.remove();
+alert(document.querySelector("#box").innerHTML); //Исчез блок #one
+alert(elem); //Но как видите, сам объект еще жив</pre>
+
+<h2 id="Полифилл">Полифилл</h2>
+
+<p>Можно создать полифилл для IE 9 и выше, используя следующий код:</p>
+
+<pre class="brush: js">(function() {
+ var arr = [window.Element, window.CharacterData, window.DocumentType];
+ var args = [];
+
+ arr.forEach(function (item) {
+ if (item) {
+ args.push(item.prototype);
+ }
+ });
+
+ // from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
+ (function (arr) {
+ arr.forEach(function (item) {
+ if (item.hasOwnProperty('remove')) {
+ return;
+ }
+ Object.defineProperty(item, 'remove', {
+ configurable: true,
+ enumerable: true,
+ writable: true,
+ value: function remove() {
+ this.parentNode.removeChild(this);
+ }
+ });
+ });
+ })(args);
+})();</pre>
+
+<h2 id="Спецификация">Спецификация</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарий</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM WHATWG', '#dom-childnode-remove', 'ChildNode.remove')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<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>Базовая поддержка {{domxref("Element")}}</td>
+ <td>23.0</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>10.0</td>
+ <td>7.0</td>
+ </tr>
+ <tr>
+ <td>Поддержка {{domxref("CharacterData")}} и {{domxref("DocumentType")}}</td>
+ <td>29.0</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>7.0</td>
+ </tr>
+ </tbody>
+</table>
+
+<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>Базовая поддержка {{domxref("Element")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>10.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ <tr>
+ <td>Поддержка {{domxref("CharacterData")}} и {{domxref("DocumentType")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>16.0</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
diff --git a/files/ru/web/api/childnode/replacewith/index.html b/files/ru/web/api/childnode/replacewith/index.html
new file mode 100644
index 0000000000..6537d254c4
--- /dev/null
+++ b/files/ru/web/api/childnode/replacewith/index.html
@@ -0,0 +1,113 @@
+---
+title: ChildNode.replaceWith()
+slug: Web/API/ChildNode/replaceWith
+translation_of: Web/API/ChildNode/replaceWith
+---
+<div>{{APIRef("DOM")}}</div>
+
+<p>Метод <code><strong>ChildNode.replaceWith()</strong></code> заменяет <code>ChildNode</code> в списке детей их родителя множеством {{domxref("Node")}} или {{domxref("DOMString")}} объектов. {{domxref("DOMString")}} объекты вставляются как эквивалент нод {{domxref("Text")}}.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">[Throws, Unscopable]
+void ChildNode.replaceWith((Node or DOMString)... nodes);
+</pre>
+
+<h3 id="Параметры">Параметры</h3>
+
+<dl>
+ <dt><code>nodes</code></dt>
+ <dd>Множество заменяемых {{domxref("Node")}} или {{domxref("DOMString")}} объектов.</dd>
+</dl>
+
+<h3 id="Исключения">Исключения</h3>
+
+<ul>
+ <li>{{domxref("HierarchyRequestError")}}: <span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Нода не может быть вставлена в указанную точку иерархии.</span></span></span></li>
+</ul>
+
+<h2 id="Примеры">Примеры</h2>
+
+<h3 id="Использование_replaceWith">Использование <code>replaceWith()</code></h3>
+
+<pre class="brush: js notranslate">var parent = document.createElement("div");
+var child = document.createElement("p");
+parent.appendChild(child);
+var span = document.createElement("span");
+
+child.replaceWith(span);
+
+console.log(parent.outerHTML);
+// "&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;"
+</pre>
+
+<h3 id="ChildNode.replaceWith_не_выполним"><code>ChildNode.replaceWith()</code> не выполним</h3>
+
+<p>Метод <code>replaceWith()</code> не входит в область видимости оператора <code>with</code>. Смотрите {{jsxref("Symbol.unscopables")}} для дополнительной информации.</p>
+
+<pre class="brush: js notranslate">with(node) {
+ replaceWith("foo");
+}
+// ReferenceError: replaceWith is not defined </pre>
+
+<h2 id="Полифилл">Полифилл</h2>
+
+<p>Вы можете заполнить метод <code>replaceWith()</code> в Internet Explorer 10+ и выше следующим кодом:</p>
+
+<pre class="brush: js notranslate">function ReplaceWithPolyfill() {
+ 'use-strict'; // For safari, and IE &gt; 10
+ var parent = this.parentNode, i = arguments.length, currentNode;
+ if (!parent) return;
+ if (!i) // if there are no arguments
+ parent.removeChild(this);
+ while (i--) { // i-- decrements i and returns the value of i before the decrement
+ currentNode = arguments[i];
+ if (typeof currentNode !== 'object'){
+ currentNode = this.ownerDocument.createTextNode(currentNode);
+ } else if (currentNode.parentNode){
+ currentNode.parentNode.removeChild(currentNode);
+ }
+ // the value of "i" below is after the decrement
+ if (!i) // if currentNode is the first argument (currentNode === arguments[0])
+ parent.replaceChild(currentNode, this);
+ else // if currentNode isn't the first
+ parent.insertBefore(currentNode, this.nextSibling);
+ }
+}
+if (!Element.prototype.replaceWith)
+ Element.prototype.replaceWith = ReplaceWithPolyfill;
+if (!CharacterData.prototype.replaceWith)
+ CharacterData.prototype.replaceWith = ReplaceWithPolyfill;
+if (!DocumentType.prototype.replaceWith)
+ DocumentType.prototype.replaceWith = ReplaceWithPolyfill;</pre>
+
+<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-childnode-replacewith', 'ChildNode.replacewith()')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
+
+
+
+<p>{{Compat("api.ChildNode.replaceWith")}}</p>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li>{{domxref("ChildNode")}} and {{domxref("ParentNode")}}</li>
+ <li>{{domxref("Node.replaceChild()")}}</li>
+ <li>{{domxref("NodeList")}}</li>
+</ul>