我有一个父级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();
}
});
我尝试了上面的代码,我无法获得预期的输出。
答案 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',这是其父级中的第一个子节点。如果找到它,菜单将被隐藏