使用JQuery切换时出现的问题

使用JQuery切换时出现的问题,jquery,toggle,Jquery,Toggle,任何人都可以使用JQuery切换来帮助解决这个问题吗?我已经尽了我所能,但就是不能让这个工作 基本上我有一个菜单,有两级子菜单。子级别将隐藏,直到单击主菜单项。问题是,当单击主菜单项时,只会显示1级菜单-2级菜单从不显示。我曾尝试通过类名和各种其他方法来定位这些方法,但它们只是拒绝按我所期望的那样显示。我下面有一把JS小提琴,非常感谢您的帮助 非常感谢您的帮助 **更新到post。只有主菜单项class=mc负责切换菜单。子菜单只是链接,这就是为什么我只需单击target class=mc。主菜

任何人都可以使用JQuery切换来帮助解决这个问题吗?我已经尽了我所能,但就是不能让这个工作

基本上我有一个菜单,有两级子菜单。子级别将隐藏,直到单击主菜单项。问题是,当单击主菜单项时,只会显示1级菜单-2级菜单从不显示。我曾尝试通过类名和各种其他方法来定位这些方法,但它们只是拒绝按我所期望的那样显示。我下面有一把JS小提琴,非常感谢您的帮助

非常感谢您的帮助

**更新到post。只有主菜单项class=mc负责切换菜单。子菜单只是链接,这就是为什么我只需单击target class=mc。主菜单项不一定总是有2级项

JS小提琴:


您只针对class.mc中的元素,子菜单中没有该类的元素在哪里。相反,您可以将li中的锚元素作为目标,li的子元素是ul

//加载时隐藏所有子菜单项。 $lhsNav.mc+ul.hide; $'a.mc','lhsNav'。单击函数{ e、 preventDefault;//防止默认操作 //显示或隐藏选定主菜单项的所有子菜单项 $this.nextAll.slideToggle; }; 此菜单有2个子级别类别-加载时隐藏。

单击主菜单项时,可以显示属于该主菜单的所有1级和2级子菜单项。问题是只显示子菜单级别1的项目。子菜单2级项目从未被看到/切换-为什么不?我做错了什么?我已经尝试了其他针对元素的方法,但没有任何效果。

子菜单没有MCC类谢谢你的回答,但是我没有说得那么清楚,对不起。只有主菜单项class=mc负责切换菜单。单击主菜单项应切换所有子菜单项。nextAll,在单击的主菜单项的上下文中应该可以工作,但它不能。这已经工作了,谢谢。我不完全明白为什么这是有效的,但我会研究它,直到我做到!谢谢你的帮助,非常感谢。
<script>
$(function(){

 // hide all sub menu items on load.
$("#lhsNav ul").hide();

$('.mc','#lhsNav').click(function(e){ 
    e.preventDefault(); //prevent default action

    //show or hide all sub menu items for selected main menu item
   $(this).nextAll().slideToggle();
    //$(this).next().slideToggle()
    //$(this).find("ul").slideToggle();
});

});
<script>
<ul id="lhsNav">
<li><a id="mc1" href="#" class="mc">Main Menu Item (Click To Toggle Sub  Menus)</a>
    <ul><li><a href="#" id="sc1"  class="sc1">Sub Menu Level 1</a>
            <ul><li><a href="#" id="sc2"  class="sc2">-> Sub Menu Level 2</a></li></ul>
        </li>
    </ul>
</li>   
<li><a id="mc2" href="#" class="mc">Main Menu Item (Click To Toggle Sub  Menus)</a>
    <ul><li><a href="#" id="sc3"  class="sc1">Sub Menu Level 1</a>
            <ul><li><a href="#" id="sc4"  class="sc2">-> Sub Menu Level 2</a></li></ul>
        </li>
    </ul>
</li>   
</ul>

<p>
This menu has 2 sub level categories - These are hidden on load.
</p>
<p>
    When a Main Menu item is clicked, the idea is to show all of the sub menu items (level 1 and level 2), that belong to that main menu. The problem is that only sub menu level 1 items are being shown. Sub menu level 2 items are never seen/toggled - why not? What am I doing wrong? I have tried alternative ways of targetting the elements, but nothing works.
</p>