jquery - recorrer - Cómo agregar un elemento de lista en una posición específica
recorrer todos los input de un formulario jquery (4)
Me gustaría agregar un <li>
en una posición específica, por ejemplo:
<ul id="list">
<li>Position 1</li>
<li>Position 2</li>
<li>Position 4</li>
<ul>
Digamos que quiero agregar un nuevo <li>
debajo / después de <li>Position 2</li>
, ¿cómo puedo hacerlo usando jQuery?
Intenté hacerlo usando el siguiente código:
$(''#list li:eq(1)'').append(''<li>Position 3</li>'');
Pero no funcionó, ya que agrega el <li>
dentro de la <li>Position 2</li>
, en su lugar, agregue el <li>
siguiente / después de la <li>Position 2</li>
.
¿Puede alguien ayudarme?
Gracias.
Debe usar after()
o insertAfter()
http://api.jquery.com/category/manipulation/dom-insertion-outside/
Tienes que usar after()
lugar de append()
:
Descripción: inserte el contenido, especificado por el parámetro, después de cada elemento en el conjunto de elementos coincidentes.
$(''#list li:eq(1)'').after(''<li>Position 3</li>'');
La documentación de append()
dice claramente:
Insertar contenido (...) al final de cada elemento.
Por completitud:
Tenga en cuenta que :eq(n)
coincide con el n
ésimo elemento del conjunto de elementos coincidentes, mientras que :nth-child(n)
coincide con el n
ésimo hijo del elemento principal.
Verifique la insertAfter
here
$(''<option val="position3">Position3</option>'').insertAfter(''#list :nth-child(<give childnumber here>)'')
índice comienza con 1