Foros del Web » Programando para Internet » Javascript »

Trabajando con nextSibling en rows...

Estas en el tema de Trabajando con nextSibling en rows... en el foro de Javascript en Foros del Web. Hola, que tal. Estoy trabajando con nextSibling en las tablas de una row, de manera que hago: var tr=document.getElementById(this.formId+"_row"+this .curRow) tr2= tr.nextSibling; alert(tr2.nodeName) Ahora viene ...
  #1 (permalink)  
Antiguo 08/07/2004, 05:04
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 22 años, 10 meses
Puntos: 1
Trabajando con nextSibling en rows...

Hola, que tal.

Estoy trabajando con nextSibling en las tablas de una row, de manera que hago:

var tr=document.getElementById(this.formId+"_row"+this .curRow)
tr2= tr.nextSibling;
alert(tr2.nodeName)


Ahora viene el problema. Con explorer, al hacer el nextSibling me lleva al siguiente tr, que es lo que pretendo. Por tanto el alert me devuelve "TR". En cambio, probando con netscape y firefox, resulta que el alert me devuelve "#text". Y no entiendo exactamente a que objeto se refiere con #text. Se supone que tendría que llevarme al siguiente tr, pero no es así.

Alguien conoce bien el tema?


gracias
  #2 (permalink)  
Antiguo 08/07/2004, 05:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola abuenog:

Es cierto que puede haber diferencias, porque netscape suele reconocer los espacios y saltos de línea como nodos, por lo que es preferible consultar el atributo nodeType (también puden servir otros atributos como tagName o nodeValue) para asegurarse de que se trata de un tag
El valor de nodeType para etiquetas creo que es 1...

Hace unos meses preparé una página que visualiza el arbol de nodos DOM, y tal vez te pueda ayudar...
http://www.pepemolina.com/DOM/index.html
En el marco de la izquierda se ve el arbol DOM de la página que esté cargada a la derecha... En las notas finales hay unos links con otros ejemplos.

Supongo que tal vez te pueda servir algo así:

var tr=document.getElementById(this.formId+"_row"+this .curRow)
tr2= tr.nextSibling;
while (tr2.nodeType != "1") {tr2 = tr2.nextSibling;}
alert(tr2.nodeName)

(no lo he probado)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/07/2004, 05:30
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Holas

Efectivamente, NS interpreta un espacio en blanco entre tags como un nodo adicional, cosa que explorer no hace.

Si le pedimos cuántos nodos hay aquí...


<tr> <td>

Explorer nos devolverá 2 y NS nos devolverá 3, pues el espacio lo cuenta como un nodo de tipo texto
  #4 (permalink)  
Antiguo 08/07/2004, 05:32
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola caricatos.

Efectivamente al parecer reconoce espacios en blanco. Probé a colocar <tr /> y ya no aparecía el objeto #text.

Ya había pensado crear algun código para detectar si es un tag lo que viene luego. Probaré el código que me has dejado.

PD. Menos mal que el DOM es un estándar, para que luego cada uno lo trate como quiera... En fin...

Gracias.



PD. Probé el código y funcionó perfectamente.

Última edición por abuenog; 08/07/2004 a las 05:37
  #5 (permalink)  
Antiguo 08/07/2004, 07:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por abuenog
Hola caricatos.

...

Ya había pensado crear algun código para detectar si es un tag lo que viene luego. Probaré el código que me has dejado.

PD. Menos mal que el DOM es un estándar, para que luego cada uno lo trate como quiera... En fin...

Gracias.



PD. Probé el código y funcionó perfectamente.


Cierto que el DOM es un estandar, ahora hay que "destriparlo" un poco para que haya menos problemas javascript/html

En esta página: http://www.linti.unlp.edu.ar/frames/proyecto.htm encontré unos artículos que uso de referencia y creo que son interesantes.

... Me alegro de que funcione bien...

tunait:
Me encanta saber que coincidimos en las respuestas, y veo que también le estás "dando caña" esta cosa rara (DOM)... un abrazote

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 09/07/2004 a las 08:34
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 00:36.