Nueva pregunta

Pregunta:

Fecha: 22-06-2017 22:27:43 (En Español)

¿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
Etiquetas: HTML - HTML5 - Javascript - JQuery - Pregunta - Web 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
     
  •  
      2  
     
    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
 
frjcbbae garagebible.com