jQuery显示子元素(如果它们有特定的类)

jQuery显示子元素(如果它们有特定的类),jquery,css,hide,show,Jquery,Css,Hide,Show,我想隐藏所有没有.active类的元素。我当前使用的代码似乎不起作用 HTML jQuery $( document ).ready( function( ) { $(".menu > li").has(".active").show; }); .show是一个函数,它应该是.show(),并且标记中没有类为的元素。菜单,请改用.list(.list>li) $(文档).ready(函数(){ $(“.list>li”).has(“.active”).show(); })

我想隐藏所有没有.active类的元素。我当前使用的代码似乎不起作用

HTML

jQuery

$( document ).ready( function( ) {

    $(".menu > li").has(".active").show;

});

.show
是一个函数,它应该是
.show()
,并且标记中没有类为
的元素。菜单
,请改用
.list
.list>li

$(文档).ready(函数(){
$(“.list>li”).has(“.active”).show();
});
.list li{
显示:无;
}


.show
是一个函数,它应该是
.show()
,并且标记中没有类为
的元素。菜单中的
.list
,请改用
.list

$(文档).ready(函数(){
$(“.list>li”).has(“.active”).show();
});
.list li{
显示:无;
}


.show
是一个函数,它应该是
.show()
,并且标记中没有类为
的元素。菜单中的
.list
,请改用
.list

$(文档).ready(函数(){
$(“.list>li”).has(“.active”).show();
});
.list li{
显示:无;
}


.show
是一个函数,它应该是
.show()
,并且标记中没有类为
的元素。菜单中的
.list
,请改用
.list

$(文档).ready(函数(){
$(“.list>li”).has(“.active”).show();
});
.list li{
显示:无;
}

您有一些打字错误:

  • 您使用的不是
    .list
    而是
    .menu
  • 您使用的不是
    .show()
    而是
    .show
  • 除此之外,我认为您可以将jQuery简化一点:

    $(function() {
      $(".list > li.active").show();
    });
    
    $(function(){…})
    $(document.ready(function(){…}
    )完全相同,我直接选择了带有class
    .active
    li
    元素,而不是先选择
    li
    元素,然后检查它们是否有class
    .active

    如果希望显示整个菜单结构(例如,菜单2、菜单2.2、菜单2.2.3),则需要将
    .list>li.active
    更改为
    .list li.active
    。但是,这也意味着将
    .active
    类移动到
    li
    ,而不是子菜单的
    a
    标记

    另一个选择是使用CSS而不是jQuery(尽管您可能会使用jQuery进行行为)。只需使用
    .list li.active{display:list item;}
    来显示菜单2

    $(函数(){
    $(“.list>li.active”).show();
    });
    .list li{
    显示:无;
    }
    
    
    您有一些打字错误:

  • 您使用的不是
    .list
    而是
    .menu
  • 您使用的不是
    .show()
    而是
    .show
  • 除此之外,我认为您可以将jQuery简化一点:

    $(function() {
      $(".list > li.active").show();
    });
    
    $(function(){…})
    $(document.ready(function(){…}
    )完全相同,我直接选择了带有class
    .active
    li
    元素,而不是先选择
    li
    元素,然后检查它们是否有class
    .active

    如果希望显示整个菜单结构(例如,菜单2、菜单2.2、菜单2.2.3),则需要将
    .list>li.active
    更改为
    .list li.active
    。但是,这也意味着将
    .active
    类移动到
    li
    ,而不是子菜单的
    a
    标记

    另一个选择是使用CSS而不是jQuery(尽管您可能会使用jQuery进行行为)。只需使用
    .list li.active{display:list item;}
    来显示菜单2

    $(函数(){
    $(“。列表
    
    $(function() {
      $(".list > li.active").show();
    });
    
    $(function( ){
        $(".list li.active").show();
    });
    
    $(function( ){
        $(".list > li.active").show();
    });