Javascript JQuery不按内部项删除类

Javascript JQuery不按内部项删除类,javascript,jquery,html,css,canvas,Javascript,Jquery,Html,Css,Canvas,我想创建一个多层非画布菜单,但我遇到了一个错误,因为Jquery没有按子项删除类。在这个例子中,你们可以看到当你们按下BackNothingAppen时,若你们使用chrome的开发者工具,你们可以看到一些东西出现在一个div类中,但并没有被删除 这是你的电话号码 你可以用 $(function(){ $("body").on('click',".m-nav-back",function(){ $(".under-level").removeClas

我想创建一个多层非画布菜单,但我遇到了一个错误,因为Jquery没有按子项删除类。在这个例子中,你们可以看到当你们按下BackNothingAppen时,若你们使用chrome的开发者工具,你们可以看到一些东西出现在一个div类中,但并没有被删除

这是你的电话号码

你可以用

$(function(){       
    $("body").on('click',".m-nav-back",function(){
            $(".under-level").removeClass("active");
    });
});
因为有时多个层在直接单击事件和元素时不起作用,所以需要使用主体元素进行激发

这将100%有效

$function{ $.m-nav-opener.单击,函数{ 如果$body.HASSCLASSM-nav-open{ $body.removeClassm-nav-open; }否则{ $body.addClassm-nav-open; } }; }; $function{ $nav li:hasdiv.clickfunction{ $this.childrendiv.addClassactive; }; }; $function{ $body.on'click',.m-nav-back,函数{ $.under-level.removeClassactive; }; }; .m-nav-container{ 位置:固定; z指数:1001; 宽度:300px; 身高:100%; 背景:DEDEDE; 填充:0px; 字号:1.15em; 框大小:边框框; 排名:0; 溢出:自动; 左:-300px; 过渡:所有0.8秒到0秒; } 身体{ 过渡:所有0.8秒到0秒; } .m-nav-open{ 转换:translateX300px; } 导航ul{ 列表样式:外部无; 填充:0px; 边际:0px; } 李海军{ 显示:块; 边界半径:0px; 利润率:0px 0px 3px; } 李娜{ 显示:块; 颜色:3838; 填充:15px; 文字装饰:无; 边界半径:0px; 过渡:背景色0.0s; 光标:指针; } 导航李分区{ 列表样式:外部无; 填充:0px; 边际:0px; 顶部:0px; 位置:绝对位置; 左:300px; z指数:2; 宽度:300px; 身高:100%; 背景:DEDEDE无重复滚动0%0%; 过渡:所有0.8秒到0秒; } .主动{ 过渡:所有0.8秒到0秒; 转换:translateX-300px; } 所容纳之物 所容纳之物 所容纳之物 摸摸我 返回 内容2 内容2 内容2 菜单 内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容

内容


它是在事件冒泡时发生的,因此在读取该类之后,单击back将其删除。因此,尝试使用:

此外,您不需要检查元素是否具有类,然后将其删除。只需切换它:

$(".m-nav-opener").click(function(){
    $("body").toggleClass("m-nav-open");
});
另外,您不需要使用$function{blah blah};多次

这是你的电话号码

$(".m-nav-opener").click(function(){
    $("body").toggleClass("m-nav-open");
});