innerText和innerHTML 一些問(wèn)題分析
更新時(shí)間:2009年05月18日 00:24:46 作者:
盡管DOM帶來(lái)了動(dòng)態(tài)修改文檔的能力,但對(duì)開發(fā)人員來(lái)說(shuō),這還不夠。IE4.0為所有的元素引入了兩個(gè)特性,以更方便的進(jìn)行文檔操作,這兩個(gè)特性是innerText和innerHTML。
其中innerText特性用來(lái)修改起始標(biāo)簽和結(jié)束標(biāo)簽之間的文本的。例如,假設(shè)有個(gè)空的<div/>元素,希望將其變成<div>New text for the div.</div>。用DOM實(shí)現(xiàn)時(shí),要這么做:
oDiv.appendChild(document.createTextNode("New text for the div."));
這段代碼并不難讀,但是很冗長(zhǎng)。如果使用innerText,只要這么做:
oDiv.innerText = "New text for the div.";
使用innerText,代碼更加簡(jiǎn)潔,并且更容易理解。另外,innerText會(huì)自動(dòng)將小于號(hào)、大于號(hào)、引號(hào)和&符號(hào)進(jìn)行HTML編碼,所有是毫不需當(dāng)心特殊字符:
oDiv.innerText = "New text for the <div/>.";
這一行代碼的執(zhí)行結(jié)果是<div>New text for the <div/>.</div>。但如何一定要再元素中包含HTML標(biāo)簽?zāi)??這就是innerHTML所要解決的問(wèn)題。
應(yīng)用innerHTML特性,可以直接給元素分配HTML字符串,而不需考慮使用DOM方法來(lái)創(chuàng)建元素。例如,假設(shè)一個(gè)空<div/>要變成<div><strong>Hello</strong><em>World</em></div>。使用DOM,要用下面的代碼:
var oStrong = document.createElement("strong');
oStrong.appendChild(document.createTextNode("hello"));
var oEm = document.createElement("em");
oEm.appendChild(document.createTextNode("World"));
oDiv.appendChild(oStrong);
oDiv.appendChild(document.createTextNode(""));
oDiv.appendChild(oEm);
而使用innerHTML,代碼就變成:
oDiv.innerHTML = "<strong>Hello</strong><em>World</em>";
七行代碼一下就變成一行,這就是innerHML的威力!
還可以使用innerText和innerHTML來(lái)獲取元素的內(nèi)容。如果元素只包含文本,那么innerText和innerHTML返回相同的值。但是,如果同時(shí)包含文本和其他元素,innerText將只返回文本的表示,而innerHTML,將返回所有元素和文本的HTML代碼。下面的表格列出了根據(jù)特定代碼innerText和innerHTML返回的不同值。
后,通過(guò)將innerText賦值給它自身,表示從指定的元素中刪除所有的HTML標(biāo)簽。
oDiv.innerText = oDiv.innerText;
oDiv.appendChild(document.createTextNode("New text for the div."));
這段代碼并不難讀,但是很冗長(zhǎng)。如果使用innerText,只要這么做:
oDiv.innerText = "New text for the div.";
使用innerText,代碼更加簡(jiǎn)潔,并且更容易理解。另外,innerText會(huì)自動(dòng)將小于號(hào)、大于號(hào)、引號(hào)和&符號(hào)進(jìn)行HTML編碼,所有是毫不需當(dāng)心特殊字符:
oDiv.innerText = "New text for the <div/>.";
這一行代碼的執(zhí)行結(jié)果是<div>New text for the <div/>.</div>。但如何一定要再元素中包含HTML標(biāo)簽?zāi)??這就是innerHTML所要解決的問(wèn)題。
應(yīng)用innerHTML特性,可以直接給元素分配HTML字符串,而不需考慮使用DOM方法來(lái)創(chuàng)建元素。例如,假設(shè)一個(gè)空<div/>要變成<div><strong>Hello</strong><em>World</em></div>。使用DOM,要用下面的代碼:
var oStrong = document.createElement("strong');
oStrong.appendChild(document.createTextNode("hello"));
var oEm = document.createElement("em");
oEm.appendChild(document.createTextNode("World"));
oDiv.appendChild(oStrong);
oDiv.appendChild(document.createTextNode(""));
oDiv.appendChild(oEm);
而使用innerHTML,代碼就變成:
oDiv.innerHTML = "<strong>Hello</strong><em>World</em>";
七行代碼一下就變成一行,這就是innerHML的威力!
還可以使用innerText和innerHTML來(lái)獲取元素的內(nèi)容。如果元素只包含文本,那么innerText和innerHTML返回相同的值。但是,如果同時(shí)包含文本和其他元素,innerText將只返回文本的表示,而innerHTML,將返回所有元素和文本的HTML代碼。下面的表格列出了根據(jù)特定代碼innerText和innerHTML返回的不同值。
| 代碼 | innerText | innerHTML |
| <div>Hello world</div> | "Hello world" | "Hello world" |
| <div><b>Hello</b>world</div> | "Hello world" | "<b>Hello</b>world" |
| <div><span></span></div> | "" | "<span></span>" |
oDiv.innerText = oDiv.innerText;
您可能感興趣的文章:
- innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別
- javascript innerHTML、outerHTML、innerText、outerText的區(qū)別
- javascript innerText和innerHtml應(yīng)用
- innerText innerHTML的用法以及注意事項(xiàng) [推薦]
- 詳談innerHTML innerText的使用和區(qū)別
- innerHTML,outerHTML,innerText,outerText的用法及區(qū)別解析
- JavaScript中innerHTML,innerText,outerHTML的用法及區(qū)別
- js中textContent、innerText和innerHTML的用法以及區(qū)別
- innerHTML,outerHTML,innerTEXT三者之間的區(qū)別
- 前端innerHTML和innerText到底有啥區(qū)別及避坑指南(新人別再搞混了!)
相關(guān)文章
微信小程序長(zhǎng)按識(shí)別二維碼的幾種情況分析
最近接到需求,在小程序內(nèi)部長(zhǎng)按識(shí)別二維碼添加個(gè)人微信,下面這篇文章主要給大家分析介紹了關(guān)于微信小程序長(zhǎng)按識(shí)別二維碼的幾種情況,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Javacript實(shí)現(xiàn)顏色梯度變化和漸變的效果代碼
用js對(duì)導(dǎo)航欄的顏色做了梯度的變化處理,通過(guò)處理..獲取兩種顏色在變化時(shí)的各種顏色字符串,并且字符串的個(gè)數(shù),即獲取的頻率可以調(diào)節(jié)2013-05-05
JavaScript數(shù)據(jù)結(jié)構(gòu)之棧實(shí)例用法
在本篇文章里小編給大家分享了關(guān)于JavaScript數(shù)據(jù)結(jié)構(gòu)之棧實(shí)例用法內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2019-01-01
關(guān)于JavaScript回調(diào)函數(shù)的深入理解
由于函數(shù)是一等對(duì)象,我們可以把一個(gè)函數(shù)作為參數(shù)傳遞給另一個(gè)函數(shù),然后在那個(gè)函數(shù)內(nèi)執(zhí)行,至也可以被那個(gè)函數(shù)返回,然后再執(zhí)行,這篇文章主要給大家介紹了關(guān)于JavaScript回調(diào)函數(shù)的深入理解,需要的朋友可以參考下2021-06-06
JS組件封裝之監(jiān)聽localStorage的變化
這篇文章主要介紹了JS組件封裝之監(jiān)聽localStorage的變化,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
JavaScript獲取DOM元素的11種方法總結(jié)
這篇文章主要介紹了JavaScript獲取DOM元素的11種方法總結(jié),本文用分4大類11個(gè)方法總結(jié)如何獲取DOM元素,需要的朋友可以參考下2015-04-04

