jQuery在取消选中复选框时删除类

jQuery在取消选中复选框时删除类,jquery,jquery-selectors,Jquery,Jquery Selectors,我有下面的jQuery函数,当选中复选框时,它会向元素添加一些类,这很好。 但是如果取消选中复选框,我想从元素中删除这些相同的类。 我猜它将与.removeClass一起使用,但我不知道在哪里添加它。 谢谢 function countDouble() { var d = $("input.double:checked").length; var s = $("input.single:checked").length; if (d === 2) {

我有下面的jQuery函数,当选中复选框时,它会向元素添加一些类,这很好。 但是如果取消选中复选框,我想从元素中删除这些相同的类。 我猜它将与.removeClass一起使用,但我不知道在哪里添加它。
谢谢

function countDouble() {      
    var d = $("input.double:checked").length;
    var s = $("input.single:checked").length;

    if (d === 2) {
   $(".twoday input:disabled").addClass("disabled");
       $(".twoday input:disabled + label").addClass("disabled");
    };
    if (s === 1) {
   $(".oneday input:disabled").addClass("disabled");
       $(".oneday input:disabled + label").addClass("disabled");
    };
};

jQuery(document).ready(function(){              
    countDouble();
    $(":checkbox").click(countDouble);  
});
“disabled”与其说是一个类,不如说是一个属性

解释如下:

祝你好运

请参见以下代码:

$('#myform :checkbox').click(function() {
    var $this = $(this);
    // $this will contain a reference to the checkbox   
    if ($this.is(':checked')) {
        // the checkbox was checked, call the function to addClass 
    } else {
        // the checkbox was unchecked, call the function to removeClass
    }
});
更新:澄清
。单击
vs
。更改
,下面是一个解释它的答案:

复选框恰好是一种特殊情况,其中 单击是可交换的,因为您无法触发更改事件 也不会触发单击


以下是您的代码的一个变体,可以使用。您可以在条件语句中添加额外的调用以满足您的需要


你能把html贴出来吗?谢谢你的回复。我正在将类“disabled”添加到disabled复选框中。当其中一个被选中时,它们都会被禁用。但我坚持的是,如果复选框未选中(并且它们都再次启用),则删除该类。您应该使用“更改”而不是“单击”,因为我可以使用键盘更新输入。单击事件也适用于键盘输入。看到这把小提琴了吗-
 function countDouble() {      
    var d = $("input.double").is(':checked');
    var s = $("input.single").is(':checked');

    if (d === true) {
       $(".twoday input").prop("disabled",true).addClass("disabled");
    } else {
       $(".twoday input").prop("disabled",false).removeClass("disabled");
    }

    if (s === true) {
       $(".oneday input").prop("disabled",true).addClass("disabled");
    } else {
       $(".oneday input").prop("disabled",false).removeClass("disabled");
    }
}

jQuery(document).ready(function(){              
    $('input[type=checkbox]').change( function() {
        countDouble();
    });
});