删除输入选中的类不起作用

时间:2012-10-30 10:59:36

标签: javascript jquery checkbox

我已设置如果选中“输入”复选框,则不透明度将从0.5变为1.

它没有用,如果我反其道而行,它确实有效,但这不是我的目标!

我的CSS代码

    .opacitychange {opacity: 1;}
    #total {opacity: 0.5;}

    if($("#iva").is(':checked'))
    {
        $('#total').html('+' + vat);
        total += vat;
        $('#total').addClass("opacitychange");
    }    
    else
        $('#total').html('0.00').removeClass("opacitychange");

    if($("#irpef").is(':checked'))
    {
        $('#total1').html('-' + irpf);
        total -= irpf;
        $('#total1').addClass("opacitychange");
    }
    else
        $('#total1').html('0.00').removeClass("opacitychange");
        $("#total2").html(total.toFixed(2));
    };

怎么了?

这里是case

1 个答案:

答案 0 :(得分:2)

如果你的代码确实是:

if($("#iva").is(':checked'))
{
    $('#total').html('+' + vat);
    total += vat;
    $('#total').addClass("opacitychange");
}    
else
    $('#total').html('0.00').removeClass("opacitychange");

if($("#irpef").is(':checked'))
{
    $('#total1').html('-' + irpf);
    total -= irpf;
    $('#total1').addClass("opacitychange");
}
else // <-- this is not a typo?
    $('#total1').html('0.00').removeClass("opacitychange");
    $("#total2").html(total.toFixed(2));
};

然后你只需要在你的else语句中添加括号{}。 你的jsFiddle也有同样的问题,你的else语句是:

else
    $('#total').html('0.00');
    $('#total').html('0.00').removeClass("opacitychange");

你实际上只执行else语句中的第一条指令;然后总是删除该类。 在修复之后你仍然会遇到css gerarchy的一些问题,但如果你改变了:

.opacitychange {opacity: 1;}

为:

.opacitychange {opacity: 1 !important;}

然后它应该工作。

PS:抱歉我的英语不好。