Element.insertAdjacentHTML()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since апÑÐµÐ»Ñ 2018 г..
insertAdjacentHTML() ÑазбиÑÐ°ÐµÑ ÑказаннÑй ÑекÑÑ ÐºÐ°Ðº HTML или XML и вÑÑавлÑÐµÑ Ð¿Ð¾Ð»ÑÑеннÑе ÑÐ·Ð»Ñ (nodes) в DOM деÑево в ÑказаннÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑ. ÐÐ°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð½Ðµ пеÑепиÑÑÐ²Ð°ÐµÑ Ð¸Ð¼ÐµÑÑиеÑÑ ÑлеменÑÑ, ÑÑо пÑедоÑвÑаÑÐ°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ ÑеÑиализаÑÐ¸Ñ Ð¸ поÑÑÐ¾Ð¼Ñ ÑабоÑÐ°ÐµÑ Ð±ÑÑÑÑее, Ñем манипÑлÑÑии Ñ innerHTML.
СинÑакÑиÑ
targetElement.insertAdjacentHTML(position, text);
ÐаÑамеÑÑÑ
position-
DOMString- опÑеделÑÐµÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñемого ÑлеменÑа оÑноÑиÑелÑно ÑлеменÑа, вÑзвавÑего меÑод. Ðолжно ÑооÑвеÑÑÑвоваÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸Ð· ÑледÑÑÑÐ¸Ñ Ð·Ð½Ð°Ñений (ÑÑвÑÑвиÑелÑно к ÑегиÑÑÑÑ):'beforebegin': до Ñамогоelement(до оÑкÑÑваÑÑего Ñега).'afterbegin': ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле оÑкÑÑваÑÑего Ñегаelement(пеÑед пеÑвÑм поÑомком).'beforeend': ÑÑÐ°Ð·Ñ Ð¿ÐµÑед закÑÑваÑÑим Ñегомelement(поÑле поÑледнего поÑомка).'afterend': поÑлеelement(поÑле закÑÑваÑÑего Ñега).
text-
СÑÑока, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑоанализиÑована как HTML или XML и вÑÑавлена в DOM деÑево докÑменÑа.
ÐаглÑдное оÑобÑажение паÑамеÑÑа position
<!-- 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(), когда ÑÑебÑеÑÑÑ Ð²Ð²ÐµÑÑи пÑоÑÑой ÑекÑÑ. ÐÑполÑзÑйÑе Ð´Ð»Ñ ÑÑого ÑвойÑÑво Node.textContent или меÑод Element.insertAdjacentText(). Ðни не бÑдÑÑ Ð¸Ð½ÑеÑпÑеÑиÑоваÑÑ ÑекÑÑ ÐºÐ°Ðº HTML, а вÑÑавÑÑ Ð½ÐµÐ¾Ð±ÑабоÑаннÑй ÑекÑÑ.
СпеÑиÑикаÑии
| Specification |
|---|
| HTML> # the-insertadjacenthtml()-method> |