如果另一个li有特定的类,Jquery会在点击li类时隐藏父div

时间:2015-09-09 14:30:08

标签: javascript jquery

我有一个父级DIV,它有UL和LI。只有第一个LI有一些特定的类(比如说     .closeSuperDept )。我需要隐藏整个DIV(#departmentMenu),如果第一个LI在点击剩余的LI(具有“dropdown-toggle”类)时有类(closeSuperDept)。

<div id="#departmentMenu">
<ul>
<li class="closeSuperDept">Heading</li>
<li class="dropdown-toggle">item1</li>
<li class="dropdown-toggle">item1</li>
<li class="dropdown-toggle">item1</li>
</ul>
</div>


$(document).on('click', '#departmentMenu .dropdown-toggle', function(){ 
var $breadcrumb = $("#departmentMenu .dropdown-toggle");
if ($breadcrumb.hasClass('closeSuperDept')){
$('#departmentMenu').hide();
}
});

我尝试了上面的代码,我无法获得预期的输出。

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

$(document).on('click', '#departmentMenu .dropdown-toggle', function () {
    var $breadcrumb = $("#departmentMenu li:first"); 
    if ($breadcrumb.hasClass('closeSuperDept')) {
        $('#departmentMenu').hide();
    }
});
  • var $breadcrumb = $("#departmentMenu li:first");将获得父li
  • 中的第一个departmentMenu元素

答案 1 :(得分:1)

试试这个:

<div id="#departmentMenu">
<ul>
<li class="closeSuperDept">Heading</li>
<li class="dropdown-toggle">item1</li>
<li class="dropdown-toggle">item1</li>
<li class="dropdown-toggle">item1</li>
</ul>
</div>


var $menu = $('#departmentMenu').on('click', '.dropdown-toggle', function(){ 
    if ($menu.find('li.closeSuperDept:first-child').length){
        $menu.hide();
    }
});

它的作用如下: 如果你单击'#departmentMenu'中的'。dropdown-toggle',脚本会在菜单中搜索带有'.closeSuperDept'的'li',这是其父级中的第一个子节点。如果找到它,菜单将被隐藏