Foros del Web » Programando para Internet » Javascript »

intercambiar nodos

Estas en el tema de intercambiar nodos en el foro de Javascript en Foros del Web. Hola, que tal Estoy intentando intercambiar dos nodos de mi tabla. Ahora tengo esto, y me funciona, pero quiero hacerlo con métodos que no sean ...
  #1 (permalink)  
Antiguo 22/04/2004, 05:33
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 22 años, 10 meses
Puntos: 1
intercambiar nodos

Hola, que tal

Estoy intentando intercambiar dos nodos de mi tabla.

Ahora tengo esto, y me funciona, pero quiero hacerlo con métodos que no sean exclusivos de explorer:

var table= document.getElementById("table")
trs= table.firstChild.childNodes
trs[0].swapNode(trs[1])

pero swapNode solo funciona con explorer. Estoy intentando con replaceChild:

table.firstChild.replaceChild(trs[1], trs[0])


pero este me sustituy el segundo por el primero, eliminando el segundo de su posicion, en vez de cambiarlo por el primero.

De que manera habría que hacerlo?


gracias
  #2 (permalink)  
Antiguo 22/04/2004, 06:40
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
Has probado a usar cloneNode() o bien documentFragment ??
  #3 (permalink)  
Antiguo 22/04/2004, 07:17
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 22 años, 10 meses
Puntos: 1
Ok, perfecto.

Lo hice asi:

var table= document.getElementById("table")
trs= table.firstChild.childNodes
var tr1= trs[0].cloneNode(true)
var tr2= trs[1].cloneNode(true)
table.firstChild.replaceChild(tr1, trs[1])
table.firstChild.replaceChild(tr2, trs[0])


muchas gracias

saludos
  #4 (permalink)  
Antiguo 02/11/2005, 07:06
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Hola, estoy haciendo casi lo mismo que el compañero abuenog pero no me sale y me voy a volver loco!!

Tengo la siguiente función, vamos, una copia al 99% del código que le resolvió el problema a él:

Código:
function swapRows(taula,i,j){
  var trs = taula.firstChild.childNodes;
  var tr1 = trs[i].cloneNode(true);
  var tr2 = trs[j].cloneNode(true);
  taula.firstChild.replaceChild(tr1,trs[j]);
  taula.firstChild.replaceChild(tr2,trs[i]);
};
donde taula es la tabla, la cual he obtenido mediante document.getElementById("infotaula"), e i y j son los índices de las filas que quiero intercambiar.

Total, que no se altera nada en la tabla

En IE no aparece ningún error en la barra de estado, entonces ya no sé si el código está mal o que demonios pasa...
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 19:37.