C'è un errore di sintassi con il tuo markup: l'unico discendente diretto valido di a <ul>
L'elemento è <li>
. Se vuoi nidificare la tua lista, fallo all'interno del <li>
si:
<ul class="nav">
<li>
<a href="#">Test link</a>
<ul class="nav">
<li>Test under</li>
</ul>
</li>
</ul>
Per attivare il bordo, istruiamo semplicemente di cercare un fratello <ul>
elemento e applicare il .slideToggle()
metodo ad esso quando viene fatto clic sul collegamento:
$(function() {
// Hide submenus
$(".nav ul").hide();
// Toggle nested <ul> (siblings of the link)
$(".nav > li > a").click(function(e) {
$(this).siblings("ul").slideToggle();
e.preventDefault();
});
});
Ecco un violino demo: http://jsfiddle.net/teddiised/2y9fz/ (Aggiunti più elementi elenchi per dimostrare l'effetto)