[英]How to select elements in jQuery that don't have a specific element in it
如何在jQuery中选择没有特定元素的元素。 我要制作一个侧边栏,该边栏将在用户单击菜单或侧边栏本身后关闭,但仅限于下拉菜单。 这是菜单的结构代码:
<li><a href="#">Menu Normal</a></li>
<li>
<a href="#">Menu Dropdown</a>
<ul class="sidebar-nav-child">
<li><a href="#">Menu-1</a></li>
<li><a href="#">Menu-1</a></li>
<li><a href="#">Menu-1</a></li>
</ul>
</li>
这是jQuery:
$(".sidebar-toggle").click(function(e){
e.preventDefault();
$("#wrapper").addClass('sidebar-show');
$("#sidebar, .sidebar-nav li:not(:has(.sidebar-nav-child)) a").click(function(){
$("#wrapper").removeClass('sidebar-show');
});
});
即使我单击下拉菜单,上面的代码仍将关闭边栏。 先感谢您。
您需要处理的li
是.sidebar-nav
直接子级,并且不包含嵌套的ul
:
$("#sidebar, .sidebar-nav > li:not(:has(ul)) a")
但是我还不清楚在这里#sidebar
作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.