Foros del Web » Programando para Internet » Node.js »

innetHTML vs firstChild.nodeValue

Estas en el tema de innetHTML vs firstChild.nodeValue en el foro de Node.js en Foros del Web. Bueno, no me gustaría tener que usar innetHTML ni nada que venga de Microsoft, así que intento modificar el contenido de un objeto mediante acceso ...
  #1 (permalink)  
Antiguo 22/04/2009, 06:15
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
innetHTML vs firstChild.nodeValue

Bueno, no me gustaría tener que usar innetHTML ni nada que venga de Microsoft, así que intento modificar el contenido de un objeto mediante acceso DOM,
Código javascript:
Ver original
  1. var objeto = document.getElementById("miobjeto");
  2. objeto.firstChild.nodeValue = "lo que quiero que este dentro del contenedor";

El problema es que si no le asigno un valor inicial, como por ejemplo:
Código html:
Ver original
  1. <span id="miobjeto"></span> <!-- Sin valor de inicialización -->
  2. <span id="miobjeto">Valor</span> <!-- Con valor de inicialización-->
obviamente firstChild no existe y por tanto no puede modificar su valor mediante nodeValue, querría saber si hay alguna forma de evitar tener que asignarle un valor para poder insertar contenido mediante DOM.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #2 (permalink)  
Antiguo 22/04/2009, 07:01
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: innetHTML vs firstChild.nodeValue

Probá así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
<
span id="miobjeto" style="background-color:#FFFF99"></span>
<
script>
document.getElementById('miobjeto').appendChild(document.createTextNode('blabla'));
</script>
</body>
</html> 
Igualmente, innerHTML es/será parte del estandar html5. Y como la mayoría de las veces es más rápido que DOM es una tontería no usarlo.
  #3 (permalink)  
Antiguo 22/04/2009, 08:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: innetHTML vs firstChild.nodeValue

Hola:

Se puede saber si existe contenido con el método hasChildNodes()... y con un bucle sencillo puede borrarse todo el contenido...

while (elemento.hasChildNodes()) elemento.removeChild(elemento.firstChild); // también serviría lastChild...

Luego se puede usar sin problemas appendChild... y si siempre se tratase de un nodo se podría usar simplemente replaceChild (pero solo se replazaría un nodo...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.