Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找活动子菜单并删除其类_Javascript_Jquery - Fatal编程技术网

Javascript 查找活动子菜单并删除其类

Javascript 查找活动子菜单并删除其类,javascript,jquery,Javascript,Jquery,我有主菜单和子菜单。当我单击主菜单时,它会显示其内容。单击子菜单时,将显示子菜单内容。但是,当我在子菜单之后单击主菜单时,它会显示主菜单内容以及子菜单内容,因为它不会删除子菜单活动类。我尝试使用以下代码查找活动子菜单的id并将其删除 var ref = $("ul#submenu li a").find(".active"); var ide= ref.attr("id"); $('#ide').removeClass("active"); 为了更好地理解我的问题,我附加了一个JSFIDLE

我有主菜单和子菜单。当我单击主菜单时,它会显示其内容。单击子菜单时,将显示子菜单内容。但是,当我在子菜单之后单击主菜单时,它会显示主菜单内容以及子菜单内容,因为它不会删除子菜单活动类。我尝试使用以下代码查找活动子菜单的id并将其删除

var ref = $("ul#submenu li a").find(".active");
var ide= ref.attr("id");
$('#ide').removeClass("active");
为了更好地理解我的问题,我附加了一个JSFIDLE 这就是你想要的吗

function clickHome(){
   $('#home-content').addClass('active').show();
   $('#home-content').siblings().removeClass('active');
   $("ul#submenu li").removeClass("active");
};
function clickContact(){
    $('#contact-content').addClass('active').show();
    $('#contact-content').siblings().removeClass('active');
    $("ul#submenu li").removeClass("active");
}

您当前只能在子菜单中找到活动的a标记。我假设您要做的是检查整个
选项卡窗格
部分中是否有任何
活动
元素。如果这样做,则可以迭代所有找到的活动项,并从中删除活动类,如下所示:

var ref = $(".tab-pane .active")
$(ref).each(function(){
  $(this).removeClass("active");
})
这是一个分叉的JSFIDLE:
请不要使用内联JavaScript,尽量将JavaScript和HTML分开

$(“ul a[href=\”\“home\”])。在(“单击”,函数(){
$(.active”).removeClass(“active”);
$(“#主页内容”).addClass(“活动”);
});
$(“ul a[href=\”\“\35; contact\”])。在(“单击”,函数(){
$(.active”).removeClass(“active”);
$(“#联系人内容”).addClass(“活动”);
});

家庭内容 主页1子菜单 主页2子菜单
联系内容 联系人1内容 联系人2内容