Estoy usando js simples para alterar el texto interno de un elemento de etiqueta, y no estaba seguro de por qué debería usar innerHTML o nodeValue o textContent. No necesito crear un nuevo nodo o cambiar los elementos HTML ni nada, solo reemplace el texto. Aquí hay un ejemplo del código:
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.
Miré a través de la fuente jQuery, y usa nodeValue exactamente una vez, pero innerHTML y textContent varias veces. Luego encontré esta prueba jsperf que indica que firstChild.nodeValue es significativamente más rápido. Al menos eso es lo que interpreto que significa.
Si firstChild.nodeValue es mucho más rápido, ¿cuál es el problema? ¿No es ampliamente compatible? ¿Hay algún otro problema?
nodeValue
tampoco analiza html