Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: diegopro en 28 de Julio 2015, 12:55

Título: Javascript acceso al nodo 'body' del DOM (document object model)
Publicado por: diegopro en 28 de Julio 2015, 12:55
Buenos dias, en primer lugar quiero daros las gracias a los autores de esta web y, en particular, a los creadores del tutorial 'Javascript desde cero'. Estáis haciendo un trabajo extraordinario para que la programación sea más fácil para los aficcionados y profesionales. ¡¡Enhorabuena!!.
Estoy aprendiendo Javascript y me he encontrado con un problema: no puedo acceder al nodo 'body' usando la sintaxis que se indica en el tutorial anterior. Con los dos navegadores Chrome y Firefox tengo el mismo problema:

var nodo=document.childNodes[1]  ===========> Resultado esperado: nodo=html

var nodo=document.childNodes[1].childNodes[0]  ==> Resultado esperado: nodo=head

var nodo=document.childNodes[1].childNodes[1]  ==> Resultado: nodo=undefined pero se espera nodo=text

var nodo=document.childNodes[1].childNodes[2]  ==> Resultado: nodo=undefined pero se espera nodo=body

¿Qué está sucediendo?

Muchísimas gracias por vuestra atención.
Título: Re:Javascript acceso al nodo 'body' del DOM (document object model)
Publicado por: César Krall en 28 de Julio 2015, 18:55
Hola!

En http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=804:acceder-a-nodos-hijos-javascript-y-atributos-nodename-nodetype-y-nodevalue-o-texto-ejemplos-cu01126e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206 se explica que la representación interna puede variar de unos navegadores a otros, por tanto puede no obtenerse el resultado esperado con esta sintaxis. Más adelante en el curso se explica una sintaxis simplificada pues basta document.body para acceder por ejemplo document.body.style.backgroundColor = "yellow"; te da acceso directo al nodo con la sintaxis simplificada.

Para ver tu caso concreto tendrías que pegar el código exacto que estés utilizando, en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 se explica cómo hacerlo

También es útil que incluyas la referencia de la entrega del curso a que te estés refiriendo, por ejemplo CU01123E ó CU01167E, ya que aportando la referencia es más fácil y rápido de localizar el tema de la consulta.

Saludos!