将类添加到单击的项目并从所有其他项目中删除,但是如果再次单击同一项目,则也从该项目中删除类

时间:2018-10-30 06:09:31

标签: jquery

我的问题分为两部分,第一部分对我很清楚,第二部分有问题。

这是我正在尝试的代码。

$('.myDiv').click(function(e){
    $('.myDiv').next('.child').removeClass('test');
    $(this).next('.child').toggleClass('test');     
});

此代码在第一部分中做得很好,将类添加到单击的div中并从所有其他类中删除,但是我需要,如果我再次单击相同的myDiv,则也需要从该类中删除类测试。 / p>

2 个答案:

答案 0 :(得分:3)

您需要使用.not(selector)方法从{ "market": { "100": { "name": "forexample", "surname": "forexample2" }, "101": { "name": "forexample3", "surname": "forexample4" }, . . . "999": { "name": "forexampleXX", "surname": "forexampleXX" } } } 匹配的元素中排除当前单击的div,即this,然后删除类

$('.myDiv')

答案 1 :(得分:1)

$(document).on('click', '.myDiv', function(e){
    $('.myDiv').next('.child').removeClass('test');
    if($(this).next('.child').hasClass('test')){
      $(this).next('.child').removeClass('test');
    }else{
      $(this).next('.child').addClass('test');
    }   
});