nodeValue vs innerHTML和textContent如何選擇?
innerText根據(jù)caniuse的說法,直到fireFox45才在firefox中不存在,但現(xiàn)在所有主要瀏覽器都支持該功能。
解決方法我正在使用普通js來更改label元素的內(nèi)部文本,但是我不確定應(yīng)該基于什么理由使用innerHTML或nodeValue或textContent。我不需要?jiǎng)?chuàng)建新節(jié)點(diǎn)或更改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測(cè)試表明firstChild.nodeValue明顯更快。至少這就是我的解釋。
如果firstChild.nodeValue快得多,那么有什么收獲呢?是否得到廣泛支持?還有其他問題嗎?
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. javascript - immutable配合react提升性能?3. 配置Apache時(shí),添加對(duì)PHP的支持時(shí)語(yǔ)法錯(cuò)誤4. 實(shí)現(xiàn)bing搜索工具urlAPI提交5. javascript - vue-router 地址改變數(shù)據(jù)未改變6. javascript - html5多個(gè)label中其中一個(gè)觸發(fā)change,如何判斷是哪一個(gè)出發(fā)了change7. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?8. css - 寫頁(yè)面遇到個(gè)布局問題,求大佬們幫解答,在線等,急!~9. phpstudy8.1支持win11系統(tǒng)嗎?10. javascript - nodejs關(guān)于進(jìn)程間發(fā)送句柄的一點(diǎn)疑問

網(wǎng)公網(wǎng)安備