App下載

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

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

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

概述

innerHTML 是指從對(duì)象的起始位置到終止位置的全部?jī)?nèi)容,還包括 HTML 標(biāo)簽。

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

區(qū)別

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

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

當(dāng)我點(diǎn)擊第一個(gè)鏈接時(shí),出現(xiàn)的彈窗內(nèi)容為“<p>這段話包括標(biāo)簽會(huì)被全部輸出</p>”。

innerHTML輸出

而當(dāng)我點(diǎn)擊第二個(gè)鏈接時(shí),出現(xiàn)的彈窗內(nèi)容為“這段話輸出部分不包含標(biāo)簽”。并沒(méi)有包括標(biāo)簽內(nèi)容。

innerText輸出

使用說(shuō)明

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

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

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

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

0 人點(diǎn)贊