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

所以請各位在使用時(shí)一定要小心.
例如在做這樣的操作時(shí)就會出錯.
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;
這樣問題就可以得到解決.
另外:
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è)簡單的符合W3C標(biāo)準(zhǔn)的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">無HTML,符合W3C標(biāo)準(zhǔn)</a>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
innerText屬性用來定義對象所要輸出的文本,在本例中innerText把對象DT中的文本“您好嗎?”變成了“我很好!”(語句DT.innerText="我很好!")。而對對象DH的改變用了innerHTML屬性,它除了有innerText的作用外,還可改變對象DH內(nèi)部的HTML語句,于是它把文本變成了“我姓肖!”,而且文本輸出改成了斜體(<i></i>)并下加一條直線(<u></u>),即語句DH.innerHTML="<i><u>我姓肖!</u></i>"。outerText和outerHTML也具有類似的作用,讀者不妨自己試試看。
二:文本的動態(tài)輸入與輸出
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
此例的效果是先在文本框中輸入文本,然后按“輸出文本”的按鈕,接著網(wǎng)頁便會自動輸出您所輸入的文本
三:注意innerHTML有自動檢查語法的功能,它會把不完整的HTML代碼補(bǔ)充完整,這點(diǎn)可以說是神奇,例如下面的這段腳本
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行的效果竟然是這樣的:
<TABLE><TBODY><TR></TR></TBODY></TABLE>
如圖:

所以請各位在使用時(shí)一定要小心.
例如在做這樣的操作時(shí)就會出錯.
復(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;
這樣問題就可以得到解決.
另外:
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è)簡單的符合W3C標(biāo)準(zhǔn)的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">無HTML,符合W3C標(biāo)準(zhǔn)</a>
您可能感興趣的文章:
- innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別
- javascript innerHTML、outerHTML、innerText、outerText的區(qū)別
- javascript innerText和innerHtml應(yīng)用
- 詳談innerHTML innerText的使用和區(qū)別
- innerHTML,outerHTML,innerText,outerText的用法及區(qū)別解析
- innerText和innerHTML 一些問題分析
- JavaScript中innerHTML,innerText,outerHTML的用法及區(qū)別
- js中textContent、innerText和innerHTML的用法以及區(qū)別
- innerHTML,outerHTML,innerTEXT三者之間的區(qū)別
- 前端innerHTML和innerText到底有啥區(qū)別及避坑指南(新人別再搞混了!)
相關(guān)文章
Javascript hasOwnProperty 方法 & in 關(guān)鍵字
hasOwnProperty :如果 object 具有指定名稱的屬性,那么方法返回 true;反之則返回 false。2008-11-11
llqrcode js識別二維碼解析二維碼信息實(shí)例
這篇文章主要為大家介紹了llqrcode js識別二維碼解析二維碼信息實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
JavaScript創(chuàng)建閉包的兩種方式的優(yōu)劣與區(qū)別分析
這篇文章主要介紹了JavaScript創(chuàng)建閉包的兩種方式的優(yōu)劣與區(qū)別分析的相關(guān)資料,需要的朋友可以參考下2015-06-06
Node.js:Windows7下搭建的Node.js服務(wù)(來玩玩服務(wù)器端的javascript吧,這可不是前端js插件
什么是Node.js?還服務(wù)器端javascript?對于這個(gè)概念我在這篇文章不做解釋,可以自己去搜索了解下,服務(wù)器端js不是新技術(shù),只是最近的node.js的火爆讓他爆發(fā)了,我會在以后的文章里解釋什么是node.js。2011-06-06
JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序
在?JavaScript?中,宏任務(wù)和微任務(wù)是指在執(zhí)行代碼的過程中的兩種不同的任務(wù)類型,這篇文章主要介紹了JavaScript中的宏任務(wù)和微任務(wù)執(zhí)行順序,需要的朋友可以參考下2022-12-12
學(xué)習(xí)并匯集javascript匿名函數(shù)
接觸jQuery很長時(shí)間了,對其的實(shí)現(xiàn)有太多疑問,可謂只知道皮毛,對其的精髓一竅不通,可悲啊!所以有必要研究下其中的原理。2010-11-11

