innerText和innerHTML 一些問題分析_javascript技巧

來源:互聯網
上載者:User
其中innerText特性用來修改起始標籤和結束標籤之間的文本的。例如,假設有個空的<div/>元素,希望將其變成<div>New text for the div.</div>。用DOM實現時,要這麼做:
oDiv.appendChild(document.createTextNode("New text for the div."));
這段代碼並不難讀,但是很冗長。如果使用innerText,只要這麼做:
oDiv.innerText = "New text for the div.";
使用innerText,代碼更加簡潔,並且更容易理解。另外,innerText會自動將小於符號、大於符號、引號和&符號進行HTML編碼,所有是毫不需當心特殊字元:
oDiv.innerText = "New text for the <div/>.";
這一行代碼的執行結果是<div>New text for the <div/>.</div>。但如何一定要再元素中包含HTML標籤呢?這就是innerHTML所要解決的問題。
應用innerHTML特性,可以直接給元素分配HTML字串,而不需考慮使用DOM方法來建立元素。例如,假設一個空<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來擷取元素的內容。如果元素只包含文本,那麼innerText和innerHTML返回相同的值。但是,如果同時包含文本和其他元素,innerText將只返迴文本的表示,而innerHTML,將返回所有元素和文本的HTML代碼。下面的表格列出了根據特定代碼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>"
後,通過將innerText賦值給它自身,表示從指定的元素中刪除所有的HTML標籤。
oDiv.innerText = oDiv.innerText;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.