原生js操作dom方法之insertAdjacentHTML

概述

insertAdjacentHTML() 將指定的文本解析為HTML或XML,并將結(jié)果節(jié)點(diǎn)插入到DOM樹(shù)中的指定位置。它不會(huì)重新解析它正在使用的元素,因此它不會(huì)破壞元素內(nèi)的現(xiàn)有元素。這避免了額外的序列化步驟,使其比直接innerHTML操作更快。

語(yǔ)法

element.insertAdjacentHTML(position, text);

position是相對(duì)于元素的位置,并且必須是以下字符串之一:

  • beforebegin: 元素自身的前面。
  • afterbegin: 插入元素內(nèi)部的第一個(gè)子節(jié)點(diǎn)之前。
  • beforeend: 插入元素內(nèi)部的最后一個(gè)子節(jié)點(diǎn)之后。
  • afterend: 元素自身的后面。
    text是要被解析為HTML或XML,并插入到DOM樹(shù)中的字符串。

位置名稱(chēng)的可視化:

<!-- beforebegin --> 
<p> 
<!-- afterbegin -->
foo
<!-- beforeend -->
</p>
<!-- afterend -->

注意: beforebegin和afterend位置,僅在節(jié)點(diǎn)在樹(shù)中且節(jié)點(diǎn)具有一個(gè)parent元素時(shí)工作.

eg

// <div id="one">one</div> 
var d1 = document.getElementById('one'); 
d1.insertAdjacentHTML('afterend', '<div id="two">two</div>');

// 此時(shí),新結(jié)構(gòu)變成:
// <div id="one">one</div><div id="two">two</div>

游覽器兼容

image.png

參考標(biāo)準(zhǔn):MDN-element.insertAdjacentHTML

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容