aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/element/insertadjacentelement/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/api/element/insertadjacentelement/index.html')
-rw-r--r--files/ru/web/api/element/insertadjacentelement/index.html129
1 files changed, 129 insertions, 0 deletions
diff --git a/files/ru/web/api/element/insertadjacentelement/index.html b/files/ru/web/api/element/insertadjacentelement/index.html
new file mode 100644
index 0000000000..a6f23f2aa1
--- /dev/null
+++ b/files/ru/web/api/element/insertadjacentelement/index.html
@@ -0,0 +1,129 @@
+---
+title: Element.insertAdjacentElement()
+slug: Web/API/Element/insertAdjacentElement
+tags:
+ - API
+ - DOM
+ - Element
+ - Gecko
+ - Method
+ - Reference
+ - insertAdjacentElement
+translation_of: Web/API/Element/insertAdjacentElement
+---
+<p>{{APIRef("DOM")}}</p>
+
+<p>Метод <strong><code>insertAdjacentElement()</code></strong> добавляет переданный элемент в DOM-дерево относительно элемента, вызвавшего метод.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre><em>targetElement</em>.insertAdjacentElement(<em>position</em>, <em>element</em>);</pre>
+
+<h3 id="Параметры">Параметры</h3>
+
+<dl>
+ <dt>position</dt>
+ <dd>{{domxref("DOMString")}} - определяет позицию добавляемого элемента относительно элемента, вызвавшего метод. Должно соответствовать одному из следующих значений (чувствительно к регистру):
+ <ul>
+ <li><code style="color: red;">'beforebegin'</code>: до самого <code>element</code> (до открывающего тега).</li>
+ <li><code style="color: green;">'afterbegin'</code>: сразу после открывающего тега  <code>element </code>(перед первым потомком).</li>
+ <li><code style="color: blue;">'beforeend'</code>: сразу перед закрывающим тегом <code>element</code> (после последнего потомка).</li>
+ <li><code style="color: magenta;">'afterend'</code>: после <code>element</code> (после закрывающего тега).</li>
+ </ul>
+ </dd>
+ <dt>element</dt>
+ <dd>Элемент, добавляемый в DOM-дерево.</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p>Метод возвращает добавляемый элемент, либо <code>null</code>, если добавление элемента завершилось ошибкой.</p>
+
+<h3 id="Исключения">Исключения</h3>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Исключение</th>
+ <th scope="col">Пояснение</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>SyntaxError</code></td>
+ <td>Переданное значение <code>position</code> не соответствует ни одному из допустимых.</td>
+ </tr>
+ <tr>
+ <td><code>TypeError</code></td>
+ <td>Передаваемый <code>element</code> не является валидным.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Наглядное_отображение_параметра_position">Наглядное отображение параметра position</h3>
+
+<pre>&lt;!-- <strong><code style="color: red;">beforebegin</code></strong> --&gt;
+<code style="font-weight: bold;">&lt;p&gt;</code>
+&lt;!-- <strong><code style="color: green;">afterbegin</code></strong> --&gt;
+foo
+&lt;!-- <strong><code style="color: blue;">beforeend</code></strong> --&gt;
+<code style="font-weight: bold;">&lt;/p&gt;</code>
+&lt;!-- <strong><code style="color: magenta;">afterend</code></strong> --&gt;</pre>
+
+<div class="note"><strong>Примечаение:</strong> значения <code>beforebegin</code> и <code>afterend</code> работают только если targetElement находится в DOM-дереве и имеет родительский элемент.</div>
+
+<h2 id="Example" name="Example">Примеры</h2>
+
+<pre class="brush: js">beforeBtn.addEventListener('click', function() {
+ var tempDiv = document.createElement('div');
+ tempDiv.style.backgroundColor = randomColor();
+ if (activeElem) {
+ activeElem.insertAdjacentElement('beforebegin',tempDiv);
+ }
+ setListener(tempDiv);
+});
+
+afterBtn.addEventListener('click', function() {
+ var tempDiv = document.createElement('div');
+ tempDiv.style.backgroundColor = randomColor();
+ if (activeElem) {
+ activeElem.insertAdjacentElement('afterend',tempDiv);
+ }
+ setListener(tempDiv);
+});</pre>
+
+<p>Посмотрите наше демо <a href="https://mdn.github.io/dom-examples/insert-adjacent/insertAdjacentElement.html">insertAdjacentElement.html</a> на Github (так же посмотрите <a href="https://github.com/mdn/dom-examples/blob/master/insert-adjacent/insertAdjacentElement.html">исходный код</a>). В этом демо мы имеем последовательность {{htmlelement("div")}} элементов внутри контейнера. При выборе одного из них можно нажать кнопку <em>Insert before</em> или <em>Insert after</em> и добавить новые div до или после выбранного  элемента используя метод <code>insertAdjacentElement()</code>.</p>
+
+<h2 id="Specification" name="Specification">Спецификация</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-element-insertadjacentelement', 'insertAdjacentElement()')}}</td>
+ <td>{{ Spec2('DOM WHATWG') }}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимость с браузерами</h2>
+
+<p>{{Compat("api.Element.insertAdjacentElement")}}</p>
+
+<div id="compat-desktop"></div>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li>{{domxref("Element.insertAdjacentHTML()")}}</li>
+ <li>{{domxref("Element.insertAdjacentText()")}}</li>
+ <li>{{domxref("Node.insertBefore()")}}</li>
+ <li>{{domxref("Node.appendChild()")}} (такой же эффект со значением position <code>beforeend</code>)</li>
+</ul>