javascript - jQuery ul li 切换菜单

标签 javascript jquery html css

我的 HTML 代码在这里:

<ul class="main-block">

 <li class="firstLevel">
   <a href="#category">EXAMPLE CATEGORY 1</a>
     <ul class="dijete">
       <li class="child">
          <a href="some-sub-category.html">EXAMPLE SUB-CATEGORY 11.</a>
       </li>
       <li class="child">
          <a href="some-sub-category.html">EXAMPLE SUB-CATEGORY 1.1</a>
       </li>
     </ul>
 </li>

 <li class="firstLevel">
   <a href="#category">EXAMPLE CATEGORY 2</a>
     <ul class="dijete">
       <li class="child">
          <a href="some-sub-category.html">EXAMPLE SUB-CATEGORY 2.1</a>
       </li>
       <li class="child">
          <a href="some-sub-category.html">EXAMPLE SUB-CATEGORY 2.2</a>
       </li>
     </ul>
 </li>

</ul>

我的 toggle() jQuery 代码在这里:

<script type="text/javascript">
    var $j = jQuery.noConflict();
    $j(function() {
        $j('li.firstLevel').click(function(){
            if($j('ul.dijete').hasClass('active')){
                $j(this).find('ul.dijete').removeClass('active');
            }else{
                $j(this).find('ul.dijete').addClass('active');
            }
        });
    });
</script>

但是当我在一个类别 EXAMPLE 1(事件或已点击)上并选择点击另一个 EXAMPLE 2 - 第一个没有关闭,所以我点击的第二个没有打开。

为什么隐藏显示不起作用?

为什么我不能显示第二个子菜单并隐藏第一个,而我目前在第一个(不能同时工作)?

最佳答案

使用这个:

var $j = jQuery.noConflict();
$j(function() {
    $j('li.firstLevel').click(function(){
        $j(this).children('ul.dijete').toggleClass('active');
    });
});

关于javascript - jQuery ul li 切换菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879717/

相关文章:

javascript - Javascript 和 C# 之间来回通信

javascript - 声明后立即 undefined variable ?

javascript - 使用 Electron/Node.js,如何异步实现简单的顺序代码?

html - 使透明的 <div> 对鼠标事件不透明

html - 获取文本,后跟某些文本

html - 基于 css 媒体查询重新调整 DIV 的显示顺序?

javascript - SlideS 的选项生成 NextPrev 不起作用

带有 cookie 的 javascript onclick 函数

ruby-on-rails - UJS 的问题

javascript - Bootstrap 网格系统容器/嵌套