JS 向DOM中添加元素內容 - insertAdjacentHTML


一直是向dom中追加元素的操作就是,createElement 、appendChild等, 知道發現了更加靈活、方便的  insertAdjacentHTML

 

一、功能

insertAdjacentHTML() 可以將文本解析成 Element 元素,並將結果節點追加到DOM樹指定位置,它不會重新解析它正在使用的元素,因此它不會破壞元素內的現有元素。這避免了額外的序列化步驟,使其比直接使用innerHTML操作更快

二、語法

element.insertAdjacentHTML(position, text);

position是指添加到哪個位置 ,並且必須是以下字符串之一:

  • beforebegin: 元素自身的前面
  • afterbegin: 插入元素內部的第一個子節點之前
  • beforeend: 插入元素內部的最后一個子節點之后
  • afterend: 元素自身的后面

text是要被解析為HTML或XML元素,並插入到DOM樹中的字符串

三、示例及效果圖

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4   <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <title>Document</title>
 8   </head>
 9 
10   <body>
11     <div id="box">
12       <div>最開始的一句話</div>
13     </div>
14   </body>
15 
16   <script>
17     var str1 = '<div>beforebegin - 插入到元素自身的前面</div>';
18     var str2 = '<div>afterbegin - 插入元素內部的第一個子節點之前</div>';
19     var str3 = '<div>beforeend - 插入元素內部的最后一個子節點之后</div>';
20     var str4 = '<div>afterend - 元素自身的后面</div>';
21     var box = document.querySelector('#box');
22     box.insertAdjacentHTML('beforebegin', str1);
23     box.insertAdjacentHTML('afterbegin', str2);
24     box.insertAdjacentHTML('beforeend', str3);
25     box.insertAdjacentHTML('afterend', str4);
26   </script>
27 
28 </html>

 

效果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM