这是包含所有代码的小提琴: https://jsfiddle.net/rajat_bansal/rtapaew5/1/
这是导致问题的我的jquery部分: -
$(document).ready(function(e) {
$(".sub-handle").click(function() {
if(!$(this).hasClass('showing-sub')){ //class doesnt exists so add it and open dropdowns giving specific backgrounds
$(this).find(".submenu").addClass('showing-sub');
$(this).addClass("sidebarElementDivOnClick");
$(this).find("a").addClass("outerMenuItem");
}
else{
$(this).find(".submenu").removeClass("showing-sub");
}
});
$(".innerMenuItem").click(function(){
$(this).toggleClass("innerMenuItemOnClick");
});
});
从我看到的,它不让我删除课程。我想这是次要的。我对jquery很新。任何有关解释的帮助将不胜感激。 谢谢!
答案 0 :(得分:0)
你只是在检查班级的错误元素。我还添加了必要的代码,以便在菜单关闭时删除类。
$(".sub-link").click(function() {
if(!$('.submenu').hasClass('showing-sub')){ //class doesnt exists so add it and open dropdowns giving specific backgrounds
$(".sub-handle").find(".submenu").addClass('showing-sub');
$(".sub-handle").addClass("sidebarElementDivOnClick");
$(".sub-handle").find("a").addClass("outerMenuItem");
} else { //if class exists..that means it was clicked again
$(".sub-handle").find(".submenu").removeClass("showing-sub");
$(".sub-handle").removeClass("sidebarElementDivOnClick");
$(".sub-handle").find("a").removeClass("outerMenuItem");
}
});
我已更新您的代码here。
答案 1 :(得分:-1)
你在jquery中有错误的条件:
你的病情应该是
if(! $(this).find(".submenu").hasClass('showing-sub')){
OR
if(!$(this).hasClass('sidebarElementDivOnClick')){
检查https://jsfiddle.net/rtapaew5/4/
对于状态锚标记点击事件:https://jsfiddle.net/rtapaew5/7/