Foros del Web » Programando para Internet » Javascript »

Mover tablas en arbol dom?

Estas en el tema de Mover tablas en arbol dom? en el foro de Javascript en Foros del Web. Buenas, Estoy ante una mision casi imposible que me esta volviendo loco.. la cuestion es, tengo una tabla y dentro de esta, mas tablas. El ...
  #1 (permalink)  
Antiguo 10/02/2006, 04:17
 
Fecha de Ingreso: octubre-2005
Mensajes: 53
Antigüedad: 18 años, 6 meses
Puntos: 1
Mover tablas en arbol dom?

Buenas,

Estoy ante una mision casi imposible que me esta volviendo loco..

la cuestion es, tengo una tabla y dentro de esta, mas tablas. El tema esta en que quiero cambiar de posicion esas tablas cuando las selecciono.

ejemplo:
Código PHP:

<table id="tablaGeneral" width="100%" cellspacing="0" cellpadding="0">
<
tr>
<
td>
              <
table id="tablaQueQuieroMover1" border="0" width="100%" >
                ...
              </
table>
               
               <
table id="tablaQueQuieroMover2" border="0" width="100%" >
                ...
              </
table>

              <
table id="tablaQueQuieroMover3" border="0" width="100%" >
                ...
              </
table>

</
tr>
</
td
asi estarian de principio y cuando por ejemplo selecciono la tercera quiero que "suba" y se muestre la primera..

para acceder al nodo padre, es facil con document.getElementById(), pero luego no veo como acceder a las tablas ya que con childNodes no logro hacerlo..se puede acceder con getElementByTagName() pero.. como les cambio el orden??

enfin.. haber si alguien me puede dar una idea.

saludos y gracias.
  #2 (permalink)  
Antiguo 23/02/2006, 03:26
 
Fecha de Ingreso: octubre-2005
Mensajes: 53
Antigüedad: 18 años, 6 meses
Puntos: 1
Bueno, aunque no ha tenido mucho exito la consulta pero ya lo he podido hacer, voy a explicar brevemente como lo he hecho por si a alguien le interesa..

posiblemente habra mas posibilidades pero weno...

Lo primero es obtener el nodo padre del que cuelgan las demas tablas.. yo intentaba acceder a la tabla padre, pero no, el nodo padre es la columna <TD> de la tabla principal.

una vez con la columna, recorremos todos los nodos hijos y los vamos copiando en un array.

algo asi.
Código:
var columnaPadre = document.getElementById('columnaPadre');
var nodos = new Array(totalTablas);
//copiamos los nodos a un array
for (var i=0;i<totalTablas;i++)
{
      nodos[i] = columnaContactos.childNodes[i].cloneNode(true);
}
hay que tener cuidado porque cada navegador interpreta el arbol dom de forma distinta, por ejemplo en firefox, desde el cual se puede ver el arbol completo, distingue algunos nodos de tipo text aunque esten vacios. Por ejemplo IE no detecta estos nodos.. por lo que habra que tener cuidado y asegurarnos que leemos los nodos <TABLE>, yo por ejemplo, utilizaba una funcion para borrar los nodos de tipo text que hubiera por ahi..

y bueno, ya tenemos los nodos en el array, primero borramos los nodos de la columna, aplicamos el critero correspondiente en el array para cambiarles de sitio y luego los volcamos con appendChild() de nuevo al nodoPadre (la columna).

pues eso es mas o menos.. al final es mas sencillo de lo que parecia..

Saludos.
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 20:01.