innerText innerHTML的用法以及注意事項(xiàng) [推薦]
更新時(shí)間:2009年05月18日 00:32:49 作者:
我們常常需要使用另外一些對(duì)象的屬性來(lái)實(shí)現(xiàn)動(dòng)態(tài)改變其中的文本,它們就是:innerText,outerText,innerHTML,outerHTML,千萬(wàn)要注意它們的大小寫(xiě),因?yàn)殄e(cuò)一點(diǎn)您就得不到預(yù)期的效果了。
一:動(dòng)態(tài)改變文本和Html
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
innerText屬性用來(lái)定義對(duì)象所要輸出的文本,在本例中innerText把對(duì)象DT中的文本“您好嗎?”變成了“我很好!”(語(yǔ)句DT.innerText="我很好!")。而對(duì)對(duì)象DH的改變用了innerHTML屬性,它除了有innerText的作用外,還可改變對(duì)象DH內(nèi)部的HTML語(yǔ)句,于是它把文本變成了“我姓肖!”,而且文本輸出改成了斜體(<i></i>)并下加一條直線(xiàn)(<u></u>),即語(yǔ)句DH.innerHTML="<i><u>我姓肖!</u></i>"。outerText和outerHTML也具有類(lèi)似的作用,讀者不妨自己試試看。
二:文本的動(dòng)態(tài)輸入與輸出
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
此例的效果是先在文本框中輸入文本,然后按“輸出文本”的按鈕,接著網(wǎng)頁(yè)便會(huì)自動(dòng)輸出您所輸入的文本
三:注意innerHTML有自動(dòng)檢查語(yǔ)法的功能,它會(huì)把不完整的HTML代碼補(bǔ)充完整,這點(diǎn)可以說(shuō)是神奇,例如下面的這段腳本
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
運(yùn)行的效果竟然是這樣的:
<TABLE><TBODY><TR></TR></TBODY></TABLE>
如圖:

所以請(qǐng)各位在使用時(shí)一定要小心.
例如在做這樣的操作時(shí)就會(huì)出錯(cuò).
list.innerHTML="<table><tr>";
list.innerHTML+="<td>"
必須用一個(gè)中間變量
Html代碼
var html="<table><tr>";
html+="<td>";
list.innerHTML=html;
var html="<table><tr>";
html+="<td>";
list.innerHTML=html;
這樣問(wèn)題就可以得到解決.
另外:
innerText在火狐下是不支持的,在網(wǎng)上有這種有人這么做
innerHTML是符合W3C標(biāo)準(zhǔn)的屬性,而innerText只適用于IE瀏覽器,因此,盡可能地去使用 innerHTML,而少用innerText,如果要輸出不含HTML標(biāo)簽的內(nèi)容,可以使用innerHTML取得包含HTML標(biāo)簽的內(nèi)容后,再用正則表達(dá)式去除HTML標(biāo)簽,下面是一個(gè)簡(jiǎn)單的符合W3C標(biāo)準(zhǔn)的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">無(wú)HTML,符合W3C標(biāo)準(zhǔn)</a>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
innerText屬性用來(lái)定義對(duì)象所要輸出的文本,在本例中innerText把對(duì)象DT中的文本“您好嗎?”變成了“我很好!”(語(yǔ)句DT.innerText="我很好!")。而對(duì)對(duì)象DH的改變用了innerHTML屬性,它除了有innerText的作用外,還可改變對(duì)象DH內(nèi)部的HTML語(yǔ)句,于是它把文本變成了“我姓肖!”,而且文本輸出改成了斜體(<i></i>)并下加一條直線(xiàn)(<u></u>),即語(yǔ)句DH.innerHTML="<i><u>我姓肖!</u></i>"。outerText和outerHTML也具有類(lèi)似的作用,讀者不妨自己試試看。
二:文本的動(dòng)態(tài)輸入與輸出
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
此例的效果是先在文本框中輸入文本,然后按“輸出文本”的按鈕,接著網(wǎng)頁(yè)便會(huì)自動(dòng)輸出您所輸入的文本
三:注意innerHTML有自動(dòng)檢查語(yǔ)法的功能,它會(huì)把不完整的HTML代碼補(bǔ)充完整,這點(diǎn)可以說(shuō)是神奇,例如下面的這段腳本
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
運(yùn)行的效果竟然是這樣的:
<TABLE><TBODY><TR></TR></TBODY></TABLE>
如圖:

所以請(qǐng)各位在使用時(shí)一定要小心.
例如在做這樣的操作時(shí)就會(huì)出錯(cuò).
復(fù)制代碼 代碼如下:
list.innerHTML="<table><tr>";
list.innerHTML+="<td>"
必須用一個(gè)中間變量
Html代碼
復(fù)制代碼 代碼如下:
var html="<table><tr>";
html+="<td>";
list.innerHTML=html;
var html="<table><tr>";
html+="<td>";
list.innerHTML=html;
這樣問(wèn)題就可以得到解決.
另外:
innerText在火狐下是不支持的,在網(wǎng)上有這種有人這么做
innerHTML是符合W3C標(biāo)準(zhǔn)的屬性,而innerText只適用于IE瀏覽器,因此,盡可能地去使用 innerHTML,而少用innerText,如果要輸出不含HTML標(biāo)簽的內(nèi)容,可以使用innerHTML取得包含HTML標(biāo)簽的內(nèi)容后,再用正則表達(dá)式去除HTML標(biāo)簽,下面是一個(gè)簡(jiǎn)單的符合W3C標(biāo)準(zhǔn)的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">無(wú)HTML,符合W3C標(biāo)準(zhǔn)</a>
相關(guān)文章
js實(shí)現(xiàn)屏蔽默認(rèn)快捷鍵調(diào)用自定義事件示例
本文要說(shuō)的是如何屏蔽默認(rèn)的快捷鍵后去執(zhí)行自定義的事件,下面以一個(gè)textarea中enter進(jìn)行保存的例子為大家詳細(xì)介紹下,感興趣的朋友可以參考下哈2013-06-06微信小程序中的video視頻實(shí)現(xiàn) 自定義播放按鈕、封面圖、視頻封面上文案
這篇文章主要介紹了微信小程序中的video視頻實(shí)現(xiàn) 自定義播放按鈕、封面圖、視頻封面上文案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01javascript 檢測(cè)瀏覽器類(lèi)型和版本的代碼
如果對(duì)javascript了解不是特別深入的話(huà),很容易就會(huì)寫(xiě)出不兼容的代碼(就像我),這時(shí)候就得判斷瀏覽器了。比如事件偵聽(tīng)、一些鼠標(biāo)和鍵盤(pán)事件、Range等,一些都會(huì)不一樣.下面列出幾種常用的檢測(cè)瀏覽器方法,以饗觀(guān)眾!2009-09-09[js高手之路]圖解javascript的原型(prototype)對(duì)象,原型鏈實(shí)例
下面小編就為大家?guī)?lái)一篇[js高手之路]圖解javascript的原型(prototype)對(duì)象,原型鏈實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08ExtJS實(shí)現(xiàn)文件下載的方法實(shí)例
這篇文章介紹了ExtJS實(shí)現(xiàn)文件下載的方法實(shí)例,有需要的朋友可以參考一下2013-11-11layui的表單驗(yàn)證支持ajax判斷用戶(hù)名是否重復(fù)的實(shí)例
今天小編就為大家分享一篇layui的表單驗(yàn)證支持ajax判斷用戶(hù)名是否重復(fù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09