nodeValue vs innerHTML和textContent。如何選擇?
innerText根據(jù)caniuse的說法,直到fireFox45才在firefox中不存在,但現(xiàn)在所有主要瀏覽器都支持該功能。
解決方法我正在使用普通js來更改label元素的內(nèi)部文本,但是我不確定應(yīng)該基于什么理由使用innerHTML或nodeValue或textContent。我不需要創(chuàng)建新節(jié)點或更改HTML元素或其他任何內(nèi)容,只需替換文本即可。這是代碼示例:
var myLabel = document.getElementById('#someLabel');myLabel.innerHTML = 'Some new label text!'; // this worksmyLabel.firstChild.nodeValue = 'Some new label text!'; // this also works.myLabel.textContent = 'Some new label text!'; // this also works.
我瀏覽了jQuery源,它只使用一次nodeValue,但是多次使用innerHTML和textContent。然后,我發(fā)現(xiàn)此jsperf測試表明firstChild.nodeValue明顯更快。至少這就是我的解釋。
如果firstChild.nodeValue快得多,那么有什么收獲呢?是否得到廣泛支持?還有其他問題嗎?
相關(guān)文章:
1. mysql 遠程連接出錯10060,我已經(jīng)設(shè)置了任意主機了。。。2. 數(shù)組排序,并把排序后的值存入到新數(shù)組中3. 默認輸出類型為json,如何輸出html4. mysql的主從復(fù)制、讀寫分離,關(guān)于從的問題5. 怎么能做出標簽切換頁的效果,(文字內(nèi)容隨動)6. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計算怎么解決?7. MySQL的聯(lián)合查詢[union]有什么實際的用處8. php多任務(wù)倒計時求助9. mysql怎么表示兩個字段的差10. PHP訂單派單系統(tǒng)
