JavaScript insertAdjacentHTML()的使用

来源:https://www.cnblogs.com/zwb4461/archive/2019/11/07/11814204.html
-Advertisement-
Play Games

含義: insertAdjacentHTML() 將指定的文本解析為HTML或XML,並將結果節點插入到DOM樹中的指定位置。它不會重新解析它正在使用的元素,因此它不會破壞元素內的現有元素。這避免了額外的序列化步驟,使其比直接innerHTML操作更快。 用法: 1 element.insertAd ...


含義:

insertAdjacentHTML() 將指定的文本解析為HTML或XML,並將結果節點插入到DOM樹中的指定位置。它不會重新解析它正在使用的元素,因此它不會破壞元素內的現有元素。這避免了額外的序列化步驟,使其比直接innerHTML操作更快。   用法:
 1 element.insertAdjacentHTML(position, text); 

 

名詞解釋:

    1.element:目標元素;

    2.insert:插入;

    3.Adjacent: 與…毗連的; 鄰近的;

    4.HTML:大家用的html佈局;

    

    text:一段字元串,此方法會將其解析為節點對象,然後插入目標元素指定位置;

    positon:規定被插入的位置的關鍵字;

 

position有四個參數選項:

    1.beforebegin:規定在目標元素的外部開始位置插入。

    2.afterbegin:規定在目標元素的內部開始位置插入。

    3.beforeend:規定在目標元素的內部結束位置插入。

    4.afterend:規定在目標元素的外部結束位置插入。

 

弄個圖會更清晰點:

 

 

 

重點註意:該方法會將指定的文本解析為HTML或XML(也就是說標簽會被解析)

 

實例:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6         <style type="text/css">
 7             #bluerec {
 8                 width:200px;
 9                 height:150px;
10                 background-color:blue;
11             }
12             p {
13                 width:100px;
14                 height:80px;
15                 background-color:red;
16             }
17         </style>
18     </head>
19     <body> 
20     <br />
21         <hr />
22         <div id = "bluerec"></div>
23         <br /> 
24         <input id = "s" type = "button" value = "點擊插入"/>
25         
26         <script type="text/javascript">
27             window.onload = function(){
28                 var blueRec = document.getElementById("bluerec");    
29                 var btn = document.getElementsByTagName("input")[0];
30                 var str = "<p></p>";
31                 btn.onclick = function(){
32                     blueRec.insertAdjacentHTML("beforebegin",str);
33                 }
34             }
35         </script>
36     </body>
37 </html>

 

實際效果:

 

 

 

 

 

 對上述代碼的解析:

    1.初始狀態:一條分割線、藍色div、按鈕

    2.點擊按鈕後:在藍色div上插入了p標簽,取代了分割線的位置,分割線位置上移

 

使用場景:需要在原有元素周圍追加元素時,比起innerHTML效率更高,相容性更好


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • elastic search 集群新增node 同一臺物理機 ...
  • 一、清除浮動的方式一 給前面一個父元素設置高度,​註意:企業開發中能不寫高度就不寫高度 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>D131_ClearFloat</title> <style> .sma ...
  • 執行命令安裝插件 在 中,添加配置 module.exports = { ... chainWebpack: config = { // 一個規則里的 基礎Loader // svg是個基礎loader const svgRule = config.module.rule("svg"); // 清除 ...
  • js javascript js的組成: ECMAscript DOM BOM js放置的位置 js輸出語句 document.write() //在頁面輸出 console.log() //在控制台輸出 [調試程式] alert() //彈窗 [阻塞程式運行] 變數: 聲明變數: 關鍵字:var ...
  • webPack 也更新到了4.0階段,今天看了一下官網,總結一下,零基礎的學習路徑吧。 (1)首先需要下載 webPake和webpack cli npm install webpack webpack-cli (2)下載完之後,則是建立新的文件夾,進行初始化 //webpack 初始化 npm i ...
  • 這篇文章終於回到了正軌:為mongodb偽造數據。之前的隨機數、隨機車牌照、隨機時間還有這篇筆記中的獲取指定長度的中文字元串,都是為這篇筆記做準備。看一下我們的準備(基礎代碼) 現在一切都準備好了,那我們就說說正事兒。為了讓這些數據有點意義,我想了三個表單。分別是車輛信息表、車輛耗損表以及車輛營收表 ...
  • 一、什麼是跨域 1、跨域 指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。 2、同源策略 是指協議,功能變數名稱,埠都要相同,其中有一個不同都會產生跨域,在請求數據時,瀏覽器會在控制臺中報一個異常,提示拒絕訪問。 3、跨域問題怎麼出現的 開發 ...
  • ts為typescript的縮寫,是javascript的超集。 npm源改為國內 由於 Node 的官方模塊倉庫網速太慢,模塊倉庫需要切換到阿裡的源。 執行下麵的命令,確認是否切換成功。 如果輸出為 taobao字樣,則表示切換成功 安裝 Postman Postman 是一個 HTTP 通信測試 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...