JavaScript - Manipulación del DOM

 
Vista:
sin imagen de perfil
Val: 24
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Manipulación del DOM

Publicado por John (6 intervenciones) el 07/02/2021 13:18:10
Buenos días, tengo un pequeño problema y es que no le encuentro el fallo a una función para bajar un elemento del dom hacia abajo, el caso es que hacía arriba si lo tengo.

dompng


Este es el código para subir un elemento que si funciona utilizando el previousElementSibling:

1
2
3
4
5
6
7
8
9
10
11
12
function subirCapa(oEvento){
  let oE = oEvento ||window.event;
 
  let oCapaASubir = oE.target.parentElement; // Fila completa
 
  if(oCapaASubir.previousElementSibling != null) {
    let oNodoPadre = oCapaASubir.parentElement; // #orden
 
    oNodoPadre.insertBefore(oCapaASubir,oCapaASubir.previousElementSibling);
  }
 
}

Este es el de bajar utilizando el nextElementSibling pero no me funciona:

1
2
3
4
5
6
7
8
9
10
11
12
function bajarCapa(oEvento){
  let oE = oEvento ||window.event;
 
  let oCapaABajar = oE.target.parentElement; // Fila completa
 
  if(oCapaABajar.nextElementSibling != null) {
    let oNodoPadre = oCapaABajar.parentElement; // #orden
 
    oNodoPadre.insertBefore(oCapaABajar,oCapaABajar.nextElementSibling);
  }
 
}

A ver si podéis ayudarme por que no encuentro el error por mas que lo miro.

PD: Vale veo que en esta parte: oNodoPadre.insertBefore(oCapaABajar,oCapaABajar.nextElementSibling);
lo que hacer es insertar como en la funciona de arriba, pero no existe la alternativa insertAfter(), aunque no se si ese es el fallo o hay alguno mas.
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
sin imagen de perfil
Val: 24
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Manipulación del DOM

Publicado por John (6 intervenciones) el 07/02/2021 13:54:57
Me auto contesto, la solución es cambiando los parámetros de lugar:

1
oNodoPadre.insertBefore(oCapaABajar.nextElementSibling,oCapaABajar,);
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