在學習 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>”。
而當我點擊第二個鏈接時,出現(xiàn)的彈窗內(nèi)容為“這段話輸出部分不包含標簽”。并沒有包括標簽內(nèi)容。
使用說明
在開發(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。