innerHTML,outerHTML,innerText,outerText區別以及insertAdjacentHTML()方法

來源:互聯網
上載者:User

標籤:

在需要給文檔插入大量的新的HTML標記的情況下,通過多次DOM操作先建立節點再指定它們之間的關係會非常麻煩而且效率不高,相對而言插入標記的方法會更加簡單,速度也更快。

插入標記中有這四個屬性innerHtml,outerHTML,innerText,outerText

這四個屬性都有擷取狀態和設定狀態。

我們先來看一小段代碼

 

<div><p>我是div的子項目</p></div>

 

*在這裡我們要先擷取這個div,我用divnode代替。在chrome瀏覽器下測試。

  • innerHTML 擷取和設定調用元素裡面的全部HTML(包括標籤)。
  • outerHTML 擷取和設定調用元素裡面的全部HTML及自身(包括標籤)。
  • innerText 擷取和設定調用元素裡面的文本。
  • outText 設定(包括標籤)或擷取(不包括標籤)對象的文本。

我們先看一下擷取狀態這四個的區別

設定狀態時

 divnode.innerHTML="<i>我是innerHTML設定後的div子項目i</i>;

divnode.outerHTML="<b><i>我是outerHTML設定後的b子項目i</i></b>"

divnode.innerText="<i>我是innerHTML設定後的div子項目i</i>";

divnode.outerText="<i>我是innerHTML設定後的div子項目i</i>";

以上是插入標記的四個屬性及區別,還有一個insertAdjacentHTML()方法插入HTML內容.insertAdjacentText()與之類似,只是插入文本。

insertAdajcentHTML(where,htmltext)

 參數:

where: 指定插入html標籤語句的位置

htmltext:要插入的html文本

第一個參數必須是下列值之一:

1.     "beforeBegin": 插入到標籤開始前(作為前一個同輩元素插入)

2.     "afterBegin":插入到標籤開始標記之後(作為第一個子項目插入)

3.     "beforeEnd":插入到標籤結束標記前(作為最後一個子項目插入)

4.     "afterEnd":插入到標籤結束標記後(作為後一個同輩元素插入)

 

innerHTML,outerHTML,innerText,outerText區別以及insertAdjacentHTML()方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.