我使用普通的js來改變標籤元素的內部文本,我不確定我應該使用innerHTML還是nodeValue或textContent。我不需要創建新節點或更改HTML元素或任何東西 - 只需替換文本即可。下面的代碼示例:nodeValue vs innerHTML和textContent。如何選擇?
var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works
myLabel.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快得多,那有什麼用?它是否得到廣泛支持?還有其他問題嗎?
您能否添加摘要?有時鏈接會被破壞,有時會導致更多的信息而不是相關的信息。 – Panzercrisis
呃,'nodeValue'不能解析HTML – Bergi
「使用textContent可以防止XSS攻擊」https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent – DRP