Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/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_Html_Css - Fatal编程技术网

Javascript 添加类后如何删除类

Javascript 添加类后如何删除类,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以我需要一点帮助。我正在玩addClass和removeClass的游戏,我似乎无法在设置类之后删除它。我基本上想要的是: 当某人单击一个h3时,它将添加到其父div类中 当有人单击添加了类的div时,需要删除类 第一步我让路了,它开始工作了 $(function(){ $('div h3.itemTitle').on('click', function(){ $(this).parent().addClass('active').siblings().removeCl

所以我需要一点帮助。我正在玩
addClass
removeClass
的游戏,我似乎无法在设置类之后删除它。我基本上想要的是:

  • 当某人单击一个
    h3
    时,它将添加到其父
    div
    类中
  • 当有人单击添加了类的
    div
    时,需要删除类
  • 第一步我让路了,它开始工作了

    $(function(){
        $('div h3.itemTitle').on('click', function(){
            $(this).parent().addClass('active').siblings().removeClass('active');
        });
    });
    
    现在当我定义:

    $(function(){
        $('div.active').on('click', function(){
            $(this).removeClass('active');
        });
    });
    
    它什么也不做,好像看不到类一样。它只设置在
    onload
    中设置的内容

    有人帮忙吗?

    试试看

     $('body').on('click','div.active', function(){$(this).removeClass('active');});
    
    而不是

    $('div.active').on('click', function(){$(this).removeClass('active');});
    
    试一试

    而不是

    $('div.active').on('click', function(){$(this).removeClass('active');});
    
    试一试

    而不是

    $('div.active').on('click', function(){$(this).removeClass('active');});
    
    试一试

    而不是

    $('div.active').on('click', function(){$(this).removeClass('active');});
    
    子元素“h3.itemTitle”上已经有一个单击事件侦听器,父元素实际上无法捕获单击事件

    您的$('div.active').on('click',…)从未实际触发,因为您单击的是h3而不是div

    我建议采取这种办法:

    子元素“h3.itemTitle”上已经有一个单击事件侦听器,父元素实际上无法捕获单击事件

    您的$('div.active').on('click',…)从未实际触发,因为您单击的是h3而不是div

    我建议采取这种办法:

    子元素“h3.itemTitle”上已经有一个单击事件侦听器,父元素实际上无法捕获单击事件

    您的$('div.active').on('click',…)从未实际触发,因为您单击的是h3而不是div

    我建议采取这种办法:

    子元素“h3.itemTitle”上已经有一个单击事件侦听器,父元素实际上无法捕获单击事件

    您的$('div.active').on('click',…)从未实际触发,因为您单击的是h3而不是div

    我建议采取这种办法:


    我会这样说:

    $('div').on('click', function(e){
        var el = e.target;
        if($(el).is('h3') && $(el).hasClass('itemTitle')){
           $(this).parent().addClass('active').siblings().removeClass('active');
        }else if($(el).is('div') && $(el).hasClass('active')){
           $(this).removeClass('active');
        }
    });
    

    我会这样说:

    $('div').on('click', function(e){
        var el = e.target;
        if($(el).is('h3') && $(el).hasClass('itemTitle')){
           $(this).parent().addClass('active').siblings().removeClass('active');
        }else if($(el).is('div') && $(el).hasClass('active')){
           $(this).removeClass('active');
        }
    });
    

    我会这样说:

    $('div').on('click', function(e){
        var el = e.target;
        if($(el).is('h3') && $(el).hasClass('itemTitle')){
           $(this).parent().addClass('active').siblings().removeClass('active');
        }else if($(el).is('div') && $(el).hasClass('active')){
           $(this).removeClass('active');
        }
    });
    

    我会这样说:

    $('div').on('click', function(e){
        var el = e.target;
        if($(el).is('h3') && $(el).hasClass('itemTitle')){
           $(this).parent().addClass('active').siblings().removeClass('active');
        }else if($(el).is('div') && $(el).hasClass('active')){
           $(this).removeClass('active');
        }
    });
    

    不确定为什么每个人都在谈论在初始DOM加载之外生成的元素

    下面是一个JSFIDLE,它显示了它的工作原理:

    代码:


    它不适用于您的原因是,如果您将removeClass click事件放在父div本身上,则单击子文本会导致与要使用的click处理程序发生冲突,并且不会起作用。如果不将单击分配给父div本身,代码就可以正常工作。

    不确定为什么每个都在谈论在初始DOM加载之外生成的元素

    下面是一个JSFIDLE,它显示了它的工作原理:

    代码:


    它不适用于您的原因是,如果您将removeClass click事件放在父div本身上,则单击子文本会导致与要使用的click处理程序发生冲突,并且不会起作用。如果不将单击分配给父div本身,代码就可以正常工作。

    不确定为什么每个都在谈论在初始DOM加载之外生成的元素

    下面是一个JSFIDLE,它显示了它的工作原理:

    代码:


    它不适用于您的原因是,如果您将removeClass click事件放在父div本身上,则单击子文本会导致与要使用的click处理程序发生冲突,并且不会起作用。如果不将单击分配给父div本身,代码就可以正常工作。

    不确定为什么每个都在谈论在初始DOM加载之外生成的元素

    下面是一个JSFIDLE,它显示了它的工作原理:

    代码:



    它不适用于您的原因是,如果您将removeClass click事件放在父div本身上,则单击子文本会导致与要使用的click处理程序发生冲突,并且不会起作用。如果不将单击分配给父div本身,代码工作正常。

    复制?如副本中所示,该形式的
    on
    仅适用于它执行时DOM中的元素。您应该使用附加到应该受影响的元素的父元素的表单,并监视DOM本身中的更改。的可能重复尝试添加活动div的某些父id或类我不确定该链接是否回答了我的特定问题,因为我正在寻找解决方案,不必使用.on('click'),但有没有对我有用的解决方案,重复?如副本中所示,该形式的
    on
    仅适用于它执行时DOM中的元素。您应该使用附加到应该受影响的元素的父元素的表单,并监视DOM本身中的更改。的可能重复尝试添加活动div的某些父id或类我不确定该链接是否回答了我的特定问题,因为我正在寻找解决方案,不必使用.on('click'),但有没有对我有用的解决方案,重复?如副本中所示,该形式的
    on
    仅适用于它执行时DOM中的元素。您应该使用附加到应该受影响的元素的父元素的表单,并监视DOM本身中的更改。的可能重复尝试添加活动div的某些父id或类我不确定该链接是否回答了我的特定问题,因为我正在寻找解决方案,不必使用.on('click'),但有没有对我有用的解决方案,重复?如副本中所示,该形式的
    on
    仅适用于它执行时DOM中的元素。您应该使用附加到应该受影响的元素的父元素的表单,并监视DOM本身中的更改。的可能重复尝试添加活动div的某些父id或类我不确定该链接是否回答了我的特定问题,因为我正在寻找解决方案,不必使用.on('click'),但任何对我有用的解决方案,解释在哪里?为什么?那么“(1)当有人点击h3时,它会添加到它的父div类中?”h3点击将按照您的编码工作,因为“未来元素”的概念