Jose Florido escribió:
> Hola!
>
> Estoy liado con un script que recorre todos los td de un tr y hace cositas
> con ellos.
> Me encuentro con que firefox, al contar los nodos hijos de un elemento me
> dice que tiene 11 hijos, mientras que ie me dice que solo tiene 5. Esto ya me
> habia ocurrido alguna vez y toquetenado lo habia conseguido solucionar
> añadiendo una comprobacion del tipo de nodo y cogiendo el nodo solo en caso
> de que sea de tipo 1 (tipo elemento).
>
> Hoy he buscado algo de información sobre esto y parece que el problema es que
> firefox entiende los espacios en blanco entre elementos como nodos de texto
> (tipo 3) y he comprobado que poniendo los elementos sin espacios entre ellos
> en el codigo fuente se arregla el problema y ambos navegadores se comportan
> igual. Mi duda es si no existe una forma algo mejor de hacer esto (lo de
> escribir los elementos sin espacio parece chapucero...), he leido algo sobre
> un metodo normalize() ¿tiene algo que ver?
>
> El script que estoy haciendo podeis verlo en:
> http://avidos.net/pruebas/anadirfila.html
> Cualquier idea para mejorarlo en general sera muy bienvenida :D
Dos cosas:
1) Yo, para desarrollo web en servidor, utilizo un sistema de plantillas
XSLT que me permite configurarlo, y de hecho lo tengo así, de modo que
toda la página web completa la devuelva en una sola línea y sin espacios
innecesarios. Esto, además de ser bueno para el ahorro de ancho de
banda, podría ayudar en el tema que expones.
2) Para este tipo de diferencias en la implementación de las funciones
DOM de los navegadores, lo ideal es hacerse (o encontrar) una
mini-librería de JavaScript "agnóstico", que devuelva en cada caso el
valor correcto, y así te olvidas de hackear y hacer cosas raras en cada
parte de tu código JavaScript que quiera hacer alguna cosilla complicada.
Saludos,
Andrés [ knocte ]
--
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net