2010-05-28 21 views
38

me gustaría añadir un <li> en una posición específica, por ejemplo:Cómo agregar un elemento de la lista en la posición específica

<ul id="list"> 
    <li>Position 1</li> 
    <li>Position 2</li> 
    <li>Position 4</li> 
<ul> 

Digamos que quiero añadir un nuevo <li> abajo/después <li>Position 2</li> , ¿cómo puedo hacerlo usando jQuery?

He tratado de hacerlo con el siguiente código:

$('#list li:eq(1)').append('<li>Position 3</li>'); 

embargo, no funcionó, ya que añade la <li> dentro del <li>Position 2</li>, en lugar añadir el <li> abajo/después de la <li>Position 2</li>.

¿Alguien me puede ayudar?

Gracias.

Respuesta

1

Comprobar insertAfterhere

67

Usted tiene que usar en lugar de after()append():

Descripción: Inserción de contenido, especificado por el parámetro, después de cada elemento en el conjunto de los elementos coincidentes.

$('#list li:eq(1)').after('<li>Position 3</li>'); 

La documentación de append() claramente dice:

Inserción de contenido (...) hasta el final de cada elemento.


Para completar:

Tenga en cuenta que coincide con el :eq(n)n ésimo elemento del conjunto de elementos de juego, mientras que :nth-child(n) coincide con el n º niño de los padres.

3
$('<option val="position3">Position3</option>').insertAfter('#list :nth-child(<give childnumber here>)') 

índice de empezar con 1

Cuestiones relacionadas