App下載

innerHTML和innerText有什么區(qū)別?用法有什么不同?

猿友 2021-06-01 16:45:05 瀏覽數(shù) (4422)
反饋

在學習 JavaScript 中,有很多同學分不太清 innerHTML 和 innerText 這兩者。那么這篇文章中,w3cschool 小編來為大家介紹下innerHTML 和 innerText 有什么區(qū)別以及它們的用法有什么不同。

概述

innerHTML 是指從對象的起始位置到終止位置的全部內(nèi)容,還包括 HTML 標簽。

innerText 是指去掉標簽的內(nèi)容。

區(qū)別

我們直接用代碼來看下它們的區(qū)別:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>innerHTML和innerText的區(qū)別- 編程獅(w3cschool.cn)</title>
</head>
<body>
	<div id="one">
         <p>這段話包括標簽會被全部輸出</p> 
	</div>
	<div id="two">
         <p>這段話輸出部分不包含標簽</p> 
	</div>
	<a href="javascript:alert(one.innerHTML)">innerHTML輸出</a>
	<a href="javascript:alert(two.innerText)">innerText輸出</a>
</body>
</html>

當我點擊第一個鏈接時,出現(xiàn)的彈窗內(nèi)容為“<p>這段話包括標簽會被全部輸出</p>”。

innerHTML輸出

而當我點擊第二個鏈接時,出現(xiàn)的彈窗內(nèi)容為“這段話輸出部分不包含標簽”。并沒有包括標簽內(nèi)容。

innerText輸出

使用說明

在開發(fā)中,innerHTML 是符合 W3C 標準的,而 innerText 只適用于 IE 瀏覽器。所以還是盡可能的使用 innerHTML。

如果想要輸出的內(nèi)容不包括標簽,可以先使用 innerHTML 取得內(nèi)容,再用正則表達式去除 HTML 標簽。如下:

<a href="javascript:alert(document.getElementById('two').innerHTML.replace(/<.+?>/gim,''))">去除HTML標簽后的文本</a>

以上就是文章“innerHTML 和 innerText 有什么區(qū)別?用法有什么不同?”的全部內(nèi)容。更多 JavaScript 學習請前往 w3cschool。

0 人點贊