在javascript中innerHTML和innerText的區別,以及innerHTML和innerText在各個版本瀏覽器的相容性問題__Javascript

來源:互聯網
上載者:User


1. 在javascript中,首先我們來看innerHTML和innerText都可以用於擷取DOM元素中的內容。


我們可以這樣寫:

(1)使用innerText時


在JS中我們,


從而得到的運行結果為:



(2)使用innerHTML時


運行這段代碼,我們可以得到


從這裡來看,如果要獲得單個DOM元素中間的文本節點,innerText和innerHTML

的結果是相同的,那麼他們之間的不同點在哪呢。


2.innerHTML和innerText之間的區別


如果,我們這樣寫,當DOM元素之間包含了其他DOM節點時,我們舉個簡單的粒子


此時當我們用innerHTML去獲得id為div-1元素的內容時,得到是的


如果使用innerText,則獲得的是:



我們發現,如果使用innerHTML,獲得的是根項目div內包含的所有節點,

所以獲得的內容為<div>my csdn</div>hello world,當我們用innerText時,所獲得的僅僅是文本節點,於是得到的內容不包含DOM節點,得到的內容為純文字, my csdn hello world


3.總結


(1)innerHTML: 


  也就是從對象的起始位置到終止位置的全部內容,包括Html標籤。 

(2)innerText:

 

       從起始位置到終止位置的內容, 但它去除Html標籤 


4.innerHTML和innerText在不同版本的相容性問題


  筆者在測試innerHTML和innerText的相容性時,發現


innerText標籤是不相容Fire fox瀏覽器的,但是相容除了FF瀏覽器以外,IE8以上,幾乎

支援所有瀏覽器。


所以我們在使用的過程中,盡量避免使用innerText。。。。



5.innerHTML和value


對於textarea,text,password,button等表單元素,我們不能用innerHTML去獲得表單元素裡面的常值內容,


比如說:<button id="btn-1">提交</button>


不能使用btn1.innerHTML去獲得開關的值,此時如果我們要獲得表單元素的文本資訊


採用的是btn1.value!!



聯繫我們

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