2010-02-24 8 views
12

Ho una semplice lista non ordinata con 16 voci di elenco. Voglio aggiungere un nuovo elemento dopo ogni quarto elemento dell'elenco esistente utilizzando jQueryjQuery nth-child aggiungi html dopo

Come faccio? Codice qui sotto:

<ul> 
    <li>some stuff</li> 
    <li>some stuff</li> 
    <li>some stuff</li> 
    <li>some stuff</li> 

    <li class="clear">This is what I want to add</li> 

    <li>some stuff</li> 
    <li>some stuff</li> 
    <li>some stuff</li> 
    <li>some stuff</li> 

    <li class="clear">This is what I want to add</li> 

    and so on... 
</ul> 
+0

questo link molto aiuto: http://stackoverflow.com/questions/1791943?tab=oldest –

risposta

22

Con il selettore :nth-child (documentation):

$('ul li:nth-child(4n)').after('<li class="clear">This is what I want to add</li>') 
+0

@htanata grazie uomo ! – mtwallet

+0

Ho usato questo: $ ('ul li: nth-child (1n)'). After ('

  • '); Ma cosa succede se non ho bisogno della classe .sep LI dopo l'ultima LI? –

    +0

    Meglio fare una nuova domanda, @TheHun. Un modo semplice per farlo è quello di rimuovere il 'li' indesiderato dopo quello. Forse anche usare ['.not()'] (http://api.jquery.com/not/) funzionerà. – htanata