Pregunta:
Fecha: 22-06-2017 22:27:43
(En Español)
Me encontré con la necesidad de añadir un elemento antes otro en este caso li tengo una lista y depende de una opción seleccionada me muestra otra pero en la parte de abajo hay un div donde es link de pago.
Ejm
Necesito que me agregue el item 4 pero sin mover el div o lo que sea
Ya probé con append()-1 pero no me sirve :(
Saludos Votos: 0 - Respuestas: 5 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
¿Cómo añadir un elemento al DOM antes de otro con JQuery?[No resuelta]
Hola amigos,Me encontré con la necesidad de añadir un elemento antes otro en este caso li tengo una lista y depende de una opción seleccionada me muestra otra pero en la parte de abajo hay un div donde es link de pago.
Ejm
<ul class="padre"> <li>1</li> <li>2</li> <li>3</li> <div>Pagar</div> </ul>
Necesito que me agregue el item 4 pero sin mover el div o lo que sea
<ul class="padre"> <li>1</li> <li>2</li> <li>3</li> <li>Item de jQuery</li> <div>Pagar</div> </ul>
Ya probé con append()-1 pero no me sirve :(
Saludos Votos: 0 - Respuestas: 5 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 23-06-2017 05:00:37 Lo unico que se me ocurre es esto:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#btn").click(function(){ $("ul").append("<li>Item de jQuery</li>"); }); }); </script> </head> <body> <ul class="padre"> <li>1</li> <li>2</li> <li>3</li> </ul> <div>Pagar</div> <button id="btn">Agregar item</button> </body> </html>
Claro está que el div ha de salir de <ul></ul> y lo que he puesto como botón tendrás que modificarlo a tus requerimientos. Votos: 2 - Link respuesta -
Fecha: 23-06-2017 05:58:39 Concuerdo con lo dicho por Txema +1
También hay que tener en cuenta que no es válido anidar una etiqueta div en un ul (desde un punto de vista del estándar).
Otra alternativa/solución podría ser ocultar por defecto la etiqueta li y mostrarla al momento de ser habilitado el paso.
Saludos y buen código! Votos: 1 - Link respuesta -
Fecha: 23-06-2017 17:42:13 Hola,
Es si esta es un li y específicamente lo necesito dentro del ul.
Saludos Votos: 0 - Link respuesta -
Fecha: 24-06-2017 03:02:59 ¿Qué quieres decir al escribir "Es si esta es un li..."? (creo que te quedo mal escrito y es inentendible).
Saludos! Votos: 0 - Link respuesta -
Fecha: 24-06-2017 06:23:57 En tu caso tienes 2 opciones.
La primera sería posicionándose en el último elemento, en tu caso el div e insertar con before.
$('ul.padre > div').before('<li>Item de jQuery</li>');
La otra forma sería creando el elemento e insertandolo antes del último elemento conocido con insertBefore.
$('<li>Item jQuery</li>').insertBefore($('ul.padre > div'));
Saludos.
P.D.: Lo que te dicen Txema y Fernando es cierto. Por qué tendrías un div dentro de un ul? Sé que debes tener un motivo, por algo está así, pero podrías comentarnos? Votos: 2 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión