PDA

View Full Version : [JQuery] Append dopo ultimo ul li del primo livello


robertino_salemi
11-06-2020, 18:54
Ciao a tutti,
ho un menu del tipo:

<ul id="myList">
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>


Tramite Jquery vorrei aggiungere un nuovo li dopo l'ultimo item del mio elenco appartenente al primo livello, quindi solo dopo "Milk".

Se scrivo:

$("ul#myList li:last-child").append("<li>nuovo item</li>");


Lui lo aggiungerà sia dopo "Milk" che dopo "Green tea".

Grazie.

wingman87
11-06-2020, 20:30
Con append aggiungi un elemento come ultimo figlio dell'elemento selezionato.

Quindi per fare quello che chiedi potresti semplicemente scrivere
$("ul#myList").append("<li>nuovo item</li>");

Per selezionare l'ultimo figlio di un elemento, il selettore corretto è
$("ul#myList > li:last-child")
Con > limiti lo scope ai soli discendenti diretti di ciò che hai selezionato prima, quindi in questo caso tutti i li che sono ultimi figli e che sono discendenti diretti di ul#myList

robertino_salemi
11-06-2020, 20:38
Hai perfettamente ragione!

Grazie! ;)