JavaScript outerHTML
outer翻譯成漢語具有“外部的”的意思。
結合innerHTML和innerText兩個屬性有利於對本屬性的理解。
關於這兩個屬性基本用法參閱如下兩篇文章:
(1).innerHTML屬性可以參閱JavaScript innerHTML一章節。
(2).innerText屬性可以參閱JavaScript innerText一章節。
innerHTML屬性用來設定或者返回指定元素內部HTML內容,那麼很容易聯想到outerHTML會不是用來設定或者返回指定元素外部HTML內容,這個猜想有點靠譜,圖示如下:
由圖示可見,這個outer並沒有超越元素本身的界限,而僅是包括元素本身。
那此屬性的功能總結如下:
outerHTML屬性用來設定或者返回元素本身以及其後代HTML內容。
語法結構一:
[JavaScript] 純文字檢視 複製程式碼outerContent=domObj.outerText
返回元素本身及其後代HTML內容。
語法結構二:
[JavaScript] 純文字檢視 複製程式碼domObj.outerText=outerContent
使用指定的HTML內容替換元素本身以及其後代HTML內容。
瀏覽器相容:
(1).IE瀏覽器支援此屬性。
(2).edge瀏覽器支援此屬性。
(3).谷歌瀏覽器支援此屬性。
(4).opera瀏覽器支援此屬性。
(5).火狐瀏覽器支援此屬性。
(6).safria瀏覽器支援此屬性。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> span{ color:blue; } </style> <script type="text/javascript"> window.onload=function(){ let op = document.getElementById("ant"); op.outerHTML="<span>青島市南區</span>"; } </script> </head> <body> <div id="box"> <p id="ant">螞蟻部落</p> </div> </body> </html>
程式碼執行效果截圖如下:
可以看到outerHTML屬性替換的內容與innerHTML屬性不同,元素本身也會被替換。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> span{ color:blue; } </style> <script type="text/javascript"> window.onload=function(){ let op = document.getElementById("ant"); op.outerHTML="<span><a href='#'>青島市南區</></span>"; } </script> </head> <body> <div id="box"> <p id="ant">螞蟻部落</p> </div> </body> </html>
程式碼執行效果截圖如下:
上面程式碼沒有更多的含義,只是在span中巢狀了一個連結<a>元素。
由上述兩個程式碼演示可以看出,替換內容中的HTML元素會被瀏覽器解析渲染。
下面再來看此屬性返回的內容,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> span{ color:blue; } </style> <script type="text/javascript"> window.onload=function(){ let obox = document.getElementById("box"); alert(obox.outerHTML) } </script> </head> <body> <div id="box"> <p id="ant">螞蟻部落</p> </div> </body> </html>
程式碼執行效果截圖如下:
outerHTML屬性可以返回元素自身以及其後代HTML元素內容。
此屬性還有一個重要特點,那就是存放原始元素的變數,即便通過outerHTML對齊進行重置,但是此變數依然存放的是原始元,看如下程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> span{ color:blue; } </style> <script type="text/javascript"> window.onload=function(){ let op = document.getElementById("ant"); console.log(op.nodeName); op.outerHTML="<span>青島市南區</span>"; console.log(op.nodeName); } </script> </head> <body> <div id="box"> <p id="ant">螞蟻部落</p> </div> </body> </html>
程式碼執行效果截圖如下:
首先獲取p元素之後,再去設定p元素的outerHTML屬性值。
雖然P元素也被整個替換掉了,但是op變數所指向的元素依然是原始的p元素。
是不是有點奇怪,但事實的確如此。
相關文章
- innerHTML,outerHTML,innerText,outerTextHTML
- textContent,innerText、innerHTML和outerHTML區別HTML
- outerHTML屬性用法簡單介紹HTML
- jquery實現獲取outerHTML內容程式碼例項jQueryHTML
- 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