Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Acceder a los nodos hijo

Estas en el tema de Acceder a los nodos hijo en el foro de Frameworks JS en Foros del Web. Buen dia, quiero saber cómo acceder al segundo elemento de un elemento html, estuve leyendo y probé con childnodes pero no me funciona. el codigo ...
  #1 (permalink)  
Antiguo 09/03/2011, 09:59
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Acceder a los nodos hijo

Buen dia, quiero saber cómo acceder al segundo elemento de un elemento html, estuve leyendo y probé con childnodes pero no me funciona.

el codigo es este:

Código HTML:
 <div class="sidebar1">
    <ul class="nav">
      <li><div class='keynav_box' onclick='document.location.href="index.html";'><a href="index.html">play</a></div></li>
      <li><div class='keynav_box' onclick='document.location.href="video.html";'><a href="video.html">video</a></div></li>
      <li><div class='keynav_box' onclick='document.location.href="how_to_play.html";'><a href="how_to_play.html">how to play</a></div></li>
    </ul>
    <!-- end .sidebar1 --></div> 
Necesito acceder al keynav_box del segundo li.

Gracias.
__________________
Qubo Visual
www.mitunja.net
  #2 (permalink)  
Antiguo 09/03/2011, 10:53
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: Acceder a los nodos hijo

Primero debes tener toda la estructura de etiquetas del HTML


Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  <div class="sidebar1">
  6.     <ul class="nav">
  7.       <li><div class='keynav_box' onclick='document.location.href="index.html";'><a href="index.html">play</a></div></li>
  8.       <li><div class='keynav_box' onclick='document.location.href="video.html";'><a href="video.html">video</a></div></li>
  9.       <li><div class='keynav_box' onclick='document.location.href="how_to_play.html";'><a href="how_to_play.html">how to play</a></div></li>
  10.     </ul>
  11.  </div>
  12. </body>
  13. </html>

y seria algo asi

Código Javascript:
Ver original
  1. document.childNodes[1].childNodes[0].childNodes[0].childNodes[1].childNodes[0];

ten en cuenta que ese es el div, adentro tienes un hijo <a>

y como sugerencia puedes ponerle id a tus objetos, así seria má facil

Código Javascript:
Ver original
  1. document.getElementById("miSegundoLiPrimreDiv")
y listo

Saludos


Me surgió la duda despues de leer la respuesta, quires acceder al DIV o al atributo class del DIV??????

Última edición por goteen_mx; 09/03/2011 a las 10:55 Razón: Duda en la respuesta.
  #3 (permalink)  
Antiguo 09/03/2011, 11:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Acceder a los nodos hijo

Cita:
Iniciado por goteen_mx Ver Mensaje
y seria algo asi

Código Javascript:
Ver original
  1. document.childNodes[1].childNodes[0].childNodes[0].childNodes[1].childNodes[0];
En realidad:
Código Javascript:
Ver original
  1. document.querySelectorAll('ul.nav div.keynav_box')[1];
Además el espacio entre tag y tag es tomado como un nodo de texto vacío, así que habría que tenerlo en cuenta a la hora de acceder a ellos; y document sólo tiene un nodo hijo, que es html. Puedes referirte simplemente como document.body .
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 09/03/2011, 14:10
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: Acceder a los nodos hijo

_cronos2, Muy buena observación la del nodo de texto, creo que ya habiamos respondido algo similar en otro tema.

Saludos.
__________________
Born to be free.
  #5 (permalink)  
Antiguo 09/03/2011, 14:35
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Acceder a los nodos hijo

Muchas gracias por la ayuda, pero no me funciona. Esto es lo que estoy intentando hacer, estoy utilizando un plugin jquery para navegar con el teclado y necesito que en otra sección de la pagina se resalte el link que lleva a esa pagina para que el usuario sepa en donde está. éste es el codigo:
Código HTML:
    	$('.sidebar1 div').keynav('keynav_focusbox','keynav_box');
    	$('.sidebar1 div:first').removeClass().addClass('keynav_focusbox');	
en div:first se le dice que resalte el elemento, pero como es logico siempre resalta el primero, pero quiero que si el usuario ha ingresado al segundo link lo resalte. estaba intentando con ul li:nth-child(2) pero no funciona. les agradezco la ayuda.
__________________
Qubo Visual
www.mitunja.net

Etiquetas: dom, javascript, jquery, keynav, nodos
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 23:03.