JavaScript insertAdjacentHTML()
此方法可以將字串引數作為HTML或者XML程式碼進行解析。
然後將解析產生的節點物件插入到當前元素的指定毗鄰位置。
為了便於方法的記憶與理解,從其名稱入手,由如下三個單詞構成:
(1). insert:翻譯成漢語具有"插入"的意思。
(2).adjacent:翻譯成漢語具有"毗鄰"的意思。
(3).HTML:大家所熟知的前端佈局用的HTML(事實也可以插入XML程式碼)。
語法結構:
[JavaScript] 純文字檢視 複製程式碼targetElement.insertAdjacentHTML(position, string)
方法解析:
(1).targetElement:目標元素。
(2).position:規定被插入的位置的關鍵字,後面會逐一介紹。
(3).string:一段字串,此方法會將其解析為節點物件,然後插入目標元素指定位置。
position屬性值是四個表示位置的關鍵字:
(1).beforebegin:規定在目標元素的外部開始位置插入。
(2).afterbegin:規定在目標元素的內部開始位置插入。
(3).beforeend:規定在目標元素的內部結束位置插入。
(4).afterend:規定在目標元素的外部結束位置插入。
圖示如下:
假設紅框是一個HTML元素形成的矩形盒,上面分別標註了對應的四個毗鄰位置。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> p{ width:100px; height:50px; background-color:red; } #target{ width:200px; height:80px; background-color:blue; } </style> <script> window.onload = () => { let oTarget=document.getElementById("target"); let obt=document.getElementById("bt"); let str="<p></p>" obt.onclick = () => { oTarget.insertAdjacentHTML("beforebegin",str); } } </script> </head> <body> <hr><div id="target"></div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
點選按鈕後程式碼執行效果截圖如下:
下面對上述程式碼進行一下詳細分析:
(1).點選按鈕之前,與div外部開始位置毗鄰的是<hr>元素。
(2).點選按鈕之後,insertAdjacentHTML()方法會解析字串"<p></p>"。
(3).解析之後生成P元素節點物件,然後將其插入到div的"beforebegin"位置。
(4).也就是插入到div元素外部開始位置處,<hr>的位置被<p>佔有。
在元素指定位置插入,而不是擦除元素內容再重新設定HTML或者XML內容時,推薦使用此方法,而不是innerHTML,具體相關內容可以參閱insertAdjacentHTML() 與 innerHTML 優點一章節。
相關文章
- insertAdjacentHTMLHTML
- insertAdjacentHTML() 與 innerHTML 相比優點HTML
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- javaScript系列[06]-javaScript和thisJavaScript
- 【JavaScript學習】JavaScript物件建立JavaScript物件
- 【轉】eval()函式(javascript) - [javaScript]函式JavaScript
- [Javascript] How javascript read the property?JavaScript
- JavaScript -"this"JavaScript
- javascript ??JavaScript
- This in JavaScriptJavaScript
- “This” is For JavaScriptJavaScript
- javascript thisJavaScript
- JavaScriptJavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- 【轉向JavaScript系列】AST in Modern JavaScriptJavaScriptAST
- javascript,還是javascript的問題JavaScript
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- 《深入理解JavaScript》——2.3 JavaScript有用嗎JavaScript
- 【JavaScript】--JavaScript總結一覽無餘JavaScript
- 【HTML、JAVASCRIPT、CSS】3、Javascript基本概念HTMLJavaScriptCSS
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- JavaScript EventJavaScript
- JavaScript BackdoorJavaScript
- JavaScript normalize()JavaScriptORM
- JavaScript setDate()JavaScript
- JavaScript setMinutes()JavaScript
- JavaScript getDate()JavaScript
- JavaScript setHours()JavaScript
- JavaScript setUTCMinutes()JavaScript
- JavaScript setUTCHours()JavaScript
- JavaScript setUTCFullYear()JavaScript
- JavaScript setUTCMonth()JavaScript
- JavaScript setUTCDate()JavaScript
- JavaScript getUTCMinutes()JavaScript
- JavaScript setMonth()JavaScript
- JavaScript getMonth()JavaScript
- JavaScript getMinutes()JavaScript