هناك خطأ في بناء الجملة مع الترميز الخاص بك - السليل المباشر الصحيح الوحيد من أ <ul>
العنصر <li>
. إذا كنت تريد أن تعشق قائمتك ، فقم بذلك داخل <li>
بحد ذاتها:
<ul class="nav">
<li>
<a href="#">Test link</a>
<ul class="nav">
<li>Test under</li>
</ul>
</li>
</ul>
للتبديل ، نحن ببساطة نوجه البحث عن شقيق <ul>
العنصر وتطبيق .slideToggle()
طريقة لها عند النقر فوق الرابط:
$(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();
});
});
هنا كمان تجريبي: http://jsfiddle.net/teddyrised/2y9fz/ (تمت إضافة المزيد من عناصر القائمة لإظهار التأثير)