javascript - ¿TextNode o textContent?
createtextnode (1)
No es realmente una cuestión de ventaja sino de un uso adecuado dependiendo de la necesidad.
La diferencia fundamental es que:
-
createTextNode()
es un método y funciona tal como lo dice su nombre: crea un elemento ... entonces debes hacer algo con él (como en tu ejemplo, donde lo agregas como un niño);
así que es útil si quieres tener un nuevo elemento y colocarlo en algún lugar -
textContent
es una propiedad que puede obtener o establecer, con una declaración única y nada más;
por lo que es útil cuando solo desea cambiar el contenido de un elemento ya existente
Ahora, en el caso preciso de su pregunta, dijo que desea cambiar el texto del elemento ...
Para ser más claros, digamos que tienes el siguiente elemento HTML:
<span>Original text</span>
Si estás usando tu primera solución:
var my_text = document.createTextNode(''Hello!'');
span.appendChild(my_text);
entonces terminará con:
<span>Original textHello!</span>
porque has añadido tu textNode
.
Así que deberías usar la segunda solución.
¿Cuál es la ventaja de crear un TextNode y agregarlo a un elemento HTML sobre la configuración directa de su contenido de texto?
Digamos que tengo un lapso.
var span = document.getElementById(''my-span'');
Y quiero cambiar su texto. ¿Cuál es la ventaja de usar:
var my_text = document.createTextNode(''Hello!'');
span.appendChild(my_text);
terminado
span.textContent = ''hello'';