2010-05-28 7 views
38

Je voudrais ajouter un <li> à une position spécifique, par exemple:Comment ajouter une liste-point à la position spécifique

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

Disons que je veux ajouter un nouveau <li> ci-dessous/après <li>Position 2</li> , comment puis-je le faire en utilisant jQuery?

J'ai essayé de le faire en utilisant le code ci-dessous:

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

Mais, ça n'a pas marché, car il ajoute le <li> à l'intérieur du <li>Position 2</li>, ajouter à la place du <li> ci-dessous/après la <li>Position 2</li>.

Quelqu'un peut-il m'aider?

Merci.

Répondre

1

Vérifier insertAfterhere

67

Vous devez utiliser after() au lieu de append():

Description: Insérer le contenu, spécifié par le paramètre, après chaque élément dans l'ensemble des éléments correspondants.

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

La documentation de append() dit clairement:

Insérer le contenu (...) à la fin de chaque élément.


Pour être complet:

Notez que :eq(n) correspond à l'élément n e de l'ensemble des éléments de correspondance, alors que :nth-child(n) correspond à l'enfant n e du parent.

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

index commencent par 1

Questions connexes