innerHTML innerText textContent使用區(qū)別示例詳解
1、提出問題
涉及元素節(jié)點(diǎn)內(nèi)容讀取或修改的時(shí)候,有三個(gè)屬性可供選擇innerHTML
,innerText
,textContent
。
那么這三個(gè)屬性各有什么不同,又分別適用于什么情況。
受 這個(gè)說明啟發(fā),我寫了個(gè)簡(jiǎn)單的例子比較了三者的不同。
2、開始實(shí)驗(yàn)
一段簡(jiǎn)單的HTML代碼:
<div id="source"> <style> .upper-case { text-transform: uppercase; } .hidden { display: none; } </style> <div> a <span class="upper-case">simple</span> text. <span class="hidden"> a hidden text.</span> </div> </div> <div id="innerHTML"></div> <div id="innerText"></div> <div id="textContent"></div> <script> let source = document.getElementById("source"); function trans(which) { let str = source[which]; console.log(str); document.getElementById(which)[which] = str; } trans("innerHTML"); trans("innerText"); trans("textContent"); </script>
3、記錄數(shù)據(jù)
結(jié)果頁(yè)面:
控制臺(tái)輸出:
- innerHTML:
<style> .upper-case { text-transform: uppercase; } .hidden { display: none; } </style> <div> a <span class="upper-case">simple</span> text. <span class="hidden"> a hidden text.</span> </div>
- innerText:
a SIMPLE text.
- textContent:
.upper-case { text-transform: uppercase; } .hidden { display: none; } a simple text. a hidden text.
4、分析結(jié)果
從頁(yè)面結(jié)果和控制臺(tái)的結(jié)果來看:
innerHTML
: 返回的是文檔中元素內(nèi)的HTML片段,在設(shè)置時(shí),HTML片段會(huì)進(jìn)過解析。innerText
: 返回的是渲染結(jié)果(頁(yè)面呈現(xiàn)結(jié)果)的文本內(nèi)容。textContent
: 返回結(jié)果去除了內(nèi)部(包括嵌套節(jié)點(diǎn))標(biāo)簽及其屬性,保留了內(nèi)部的文本內(nèi)容。innerText
和textContent
被設(shè)置時(shí)以安全方式(不會(huì)引起文檔結(jié)構(gòu)變化)寫入。
5、得出結(jié)論
- 想獲得元素內(nèi)的html內(nèi)容或設(shè)置其內(nèi)部HTML,使用
innerHTML
。 - 想獲得元素的文本內(nèi)容或設(shè)置其文本內(nèi)容,使用
textContent
。 - (很少使用)如果獲取在頁(yè)面呈現(xiàn)的文本內(nèi)容,使用
innerText
。
事實(shí)上,很多時(shí)候,尤其是元素內(nèi)部只是普通文本的時(shí)候,三者的區(qū)別不會(huì)造成什么問題,所以很多人對(duì)它們的區(qū)別不清楚。
不過,我認(rèn)為,至少應(yīng)該記?。涸谏婕癏TML內(nèi)容時(shí),必須使用innerHTML;否則,使用textContent,保證安全。 使用innerText往往是為了兼容IE6-7。
以上就是innerHTML innerText textContent使用區(qū)別示例詳解的詳細(xì)內(nèi)容,更多關(guān)于innerHTML innerText textContent的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
html中鼠標(biāo)滾輪事件onmousewheel的處理方法
下面小編就為大家?guī)硪黄猦tml中鼠標(biāo)滾輪事件onmousewheel的處理方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11JavaScript實(shí)現(xiàn)的浮動(dòng)層框架用法實(shí)例分析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的浮動(dòng)層框架用法,以實(shí)例形式分析了JavaScript實(shí)現(xiàn)可關(guān)閉的半透明浮動(dòng)層相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10javascript實(shí)現(xiàn)2016新年版日歷
這篇文章主要為大家介紹了javascript實(shí)現(xiàn)2016新年版日歷的詳細(xì)代碼,感興趣的小伙伴們可以參考一下2016-01-01JavaScript中的公有、私有、特權(quán)和靜態(tài)成員用法分析
這篇文章主要介紹了JavaScript中的公有、私有、特權(quán)和靜態(tài)成員用法,以實(shí)例形式分析了其使用方法,簡(jiǎn)單易懂,對(duì)于初學(xué)javascript的朋友具有不錯(cuò)的學(xué)習(xí)與借鑒價(jià)值,需要的朋友可以參考下2014-11-11利用HTML5+Socket.io實(shí)現(xiàn)搖一搖控制PC端歌曲切換
這篇文章主要介紹了利用HTML5+Socket.io實(shí)現(xiàn)搖一搖控制PC端歌曲切換,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01用js讀、寫、刪除Cookie代碼分享及詳細(xì)注釋說明
JavaScript是運(yùn)行在客戶端的腳本,因此一般是不能夠設(shè)置Session的,因?yàn)镾ession是運(yùn)行在服務(wù)器端的。而cookie是運(yùn)行在客戶端的,所以可以用JS來設(shè)置cookie. 下面我們來分析下案例2014-06-06JavaScript實(shí)現(xiàn)元素滾動(dòng)條到達(dá)一定位置循環(huán)追加內(nèi)容
下面小編就為大家分享一篇JavaScript實(shí)現(xiàn)元素滾動(dòng)條到達(dá)一定位置循環(huán)追加內(nèi)容,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12