JavaScript - Javascript. Error de seleccion

 
Vista:

Javascript. Error de seleccion

Publicado por Martin (2 intervenciones) el 16/04/2017 12:02:15
Cuando utilizo document.getElementById('cuerpo').childNodes[2] o document.getElementById('cuerpo').childNodes[3] el funcionamiento no es el que debería, aveces retorna un tipo de variable #text y otras veces al seleccionar el tercer nodo devuelve el segundo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
   <head>
   </head>
   <body>
      <div id="cuerpo">
         <div id="m1">
            <p>hola</p>
         </div>
         <div id="m2">
            <p>hola</p>
         </div>
         <div id="m3">
            <p>hola</p>
         </div>
      </div>
   </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.673
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Javascript. Error de seleccion

Publicado por xve (2094 intervenciones) el 17/04/2017 09:13:23
Hola Martin, childNodes, solo lee las propiedades de los nodos, no devuelve su contenido.
https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes

Por esta razón, dependiendo del indice que revises te devuelve #text que quiere decir que lo que contiene dicho nodo es un texto... pero si miras su contenido:
1
document.getElementById('cuerpo').childNodes[0].data
veras que es el salto de linea...

prueba haciendo:
1
document.getElementById('cuerpo').childNodes[1].nodeName
Veras que te indica que es un DIV


Para no tener los #text, simplemente elimina los saltos de linea:
1
2
3
4
5
6
7
<html>
   <head>
   </head>
   <body>
      <div id="cuerpo"><div id="m1"><p>hola</p></div><div id="m2"><p>hola</p></div><div id="m3"><p>hola</p></div></div>
   </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar