En DOM, cambiar contenido parece simple, pero elegir mal la propiedad puede crear bugs o incluso vulnerabilidades de seguridad.
Las dos propiedades más usadas son:
textContentinnerHTMLtextContent: texto puro y seguroÚsalo cuando solo quieres mostrar texto.
Ventaja clave: aunque el texto contenga etiquetas HTML, las trata como texto literal, no las ejecuta. Esto lo hace seguro frente a datos que vienen del usuario.
innerHTML: estructura completaÚsalo cuando necesitas insertar etiquetas HTML reales, no solo texto.
Advertencia: no uses innerHTML con datos que vienen del usuario sin limpiarlos antes.
Si insertas directamente lo que el usuario escribe, abres la puerta a ataques XSS (Cross-Site Scripting).
| Caso | Usa |
|---|---|
| Texto plano | textContent |
| Estructura HTML controlada | innerHTML |
| Datos del usuario | textContent siempre |
No conviertas todo en innerHTML "por costumbre".
Es más potente, sí, pero también más delicado.
textContent#resultado un bloque HTML usando innerHTMLNo se trata solo de cambiar contenido, sino de cambiarlo con intención.