您的位置:首頁技術文章
文章詳情頁

nodeValue vs innerHTML和textContent如何選擇?

瀏覽:97日期:2024-05-10 08:54:08
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決nodeValue vs innerHTML和textContent如何選擇?? 將內容解析為HTML,因此需要更長的時間。 使用純文本,不解析HTML,并且速度更快。 使用純文本,不解析HTML,并且速度更快。 考慮樣式。例如,它不會獲取隱藏文本。

innerText根據caniuse的說法,直到fireFox45才在firefox中不存在,但現在所有主要瀏覽器都支持該功能。

解決方法

我正在使用普通js來更改label元素的內部文本,但是我不確定應該基于什么理由使用innerHTML或nodeValue或textContent。我不需要創建新節點或更改HTML元素或其他任何內容,只需替換文本即可。這是代碼示例:

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。然后,我發現此jsperf測試表明firstChild.nodeValue明顯更快。至少這就是我的解釋。

如果firstChild.nodeValue快得多,那么有什么收獲呢?是否得到廣泛支持?還有其他問題嗎?

標簽: HTML
相關文章:
国产综合久久一区二区三区