Jquery 从其他同级中删除类
我有一个这样的结构Jquery 从其他同级中删除类,jquery,css,list,selectors-api,Jquery,Css,List,Selectors Api,我有一个这样的结构 <ul> <li class="open active"> <a></a> <ul class="submenu nav-show" style="display:block"></ul> </li> <li class=""> <a></a> <ul></ul> </li>
<ul>
<li class="open active">
<a></a>
<ul class="submenu nav-show" style="display:block"></ul>
</li>
<li class="">
<a></a>
<ul></ul>
</li>
</ul>
但它不起作用
也试过
var open = document.querySelectorAll(".open");
$(open).closest("li").addClass('active').siblings().removeClass('active');
$(open).not(":has(.active)").collapse('hide');
但没有给出适当的输出
plz help me最近的
函数将获取元素的最近父元素。在您的情况下,open
将与您想要启用的.active
元素相同
尝试更改var a=$(打开)。将(“li”)更改为var a=$(打开)
,看看这是否有帮助
$($p).closest('li').addClass('active').siblings().removeClass('active').end()
.parent().children().filter(function(){return $(this).find('.nav-show ').length>0}).addClass('.nav-hide').hide();
或
试试这个试试这个编码
$("li > a").click(function() {
var $div1 = $(this).next();
$(".submenu").not($div1).hide();
$div1.show();
var $div2=$(this).parent();
$("li").not($div2).removeClass('active');
$div2.addClass('active');
});
试试这个:
$(document).ready(function(){
$("li").click(function(){
$(this).siblings("li.active").find("ul.nav-show:eq(1)").removeClass("nav-show").addClass("nav-hide");
$(this).siblings("li.active").removeClass("active");
$(this).addClass("active");
$(this).find("ul").removeClass("nav-hide").addClass("nav-show");
});
});
你可以试试
$('.open').addClass('active').find('ul').removeClass('nav-hide').addClass('nav-show').end().siblings('.active').removeClass('active').find('ul').addClass('nav-hide').removeClass('nav-show');
同样可以写成
var $li = $('.open').addClass('active');
$li.find('ul').removeClass('nav-hide').addClass('nav-show');
$li.siblings('.active').removeClass('active').find('ul').addClass('nav-hide').removeClass('nav-show');
仍然与前一个一样..没有效果请在单击处理程序时共享您,以便我们可以看到您实际试图记录的内容-您是否提供了小提琴???@gurupasadrao我完全想要侧菜单..单击子项其他将关闭HNx其部分工作它隐藏第一个lis ul,但也隐藏第二个lisul@BDhara请重新测试。当我只要李hide@BDhara请重新测试。