--- title: Element.insertAdjacentHTML() slug: Web/API/Element/insertAdjacentHTML translation_of: Web/API/Element/insertAdjacentHTML ---
insertAdjacentHTML()
разбирает указанный текст как HTML или XML и вставляет полученные узлы (nodes) в DOM дерево в указанную позицию. Данная функция не переписывает имеющиеся элементы, что предотвращает дополнительную сериализацию и поэтому работает быстрее, чем манипуляции с {{domxref("Element.innerHTML", "innerHTML")}}.
targetElement.insertAdjacentHTML(position, text);
position
'beforebegin'
: до самого element
(до открывающего тега).'afterbegin'
: сразу после открывающего тега element
(перед первым потомком).'beforeend'
: сразу перед закрывающим тегом element
(после последнего потомка).'afterend'
: после element
(после закрывающего тега).text
<!--beforebegin
--><p>
<!--afterbegin
--> foo <!--beforeend
--></p>
<!--afterend
-->
beforebegin
и afterend
работают только если узел имеет родительский элемент.// <div id="one">one</div> var d1 = document.getElementById('one'); d1.insertAdjacentHTML('afterend', '<div id="two">two</div>'); // At this point, the new structure is: // <div id="one">one</div><div id="two">two</div>
Будьте осторожны при использовании вставки HTML на страницу с помощью insertAdjacentHTML()
, не используете пользовательский ввод, который не был экранирован.
Не рекомендуется использовать insertAdjacentHTML()
, когда требуется ввести простой текст. Используйте для этого свойство {{domxref("Node.textContent")}} или метод {{domxref("Element.insertAdjacentText()")}}. Они не будут интерпретировать текст как HTML, а вставят необработанный текст.
{{Compat("api.Element.insertAdjacentHTML")}}