使用jquery将attr更改为class

时间:2012-01-26 09:26:48

标签: javascript jquery addclass

我有这个脚本:

$(document).ready(function() {
    $('#Checkout1').addClass('disabled');
    $('#voorwaarden').change(function() {
        $('#Checkout1').attr('disabled', $(this).is(':checked') ? null : 'disabled');
    });
});

脚本无法更改attr禁用。但是我怎么能把这个脚本改成这个东西呢。当你改变#voorwaarden。然后删除#checkout1中的diabled类。当我接下来换了#voorwaarden。比增加课程和进一步和更进一步。 #voorwaarden是一个复选框。

谢谢!

2 个答案:

答案 0 :(得分:3)

只需使用toggleClass()

即可
$(document).ready(function() {
    $('#Checkout1').addClass('disabled');
    $('#voorwaarden').change(function() {
        $('#Checkout1').toggleClass('disabled');
    });
});

注意http://api.jquery.com/toggleClass/


已修改:如果您要切换“已停用”属性,

$(document).ready(function() {
    $('#Checkout1').prop('disabled', true);
    $('#voorwaarden').change(function() {
        $('#Checkout1').prop('disabled', !$('#Checkout1').prop('disabled'));
    });
});

答案 1 :(得分:0)

我不完全确定我理解你的问题,但是如果您的目标是在未选中复选框时添加“禁用”类,并将其删除,则:

$(document).ready(function() {
    $('#Checkout1').addClass('disabled');
    $('#voorwaarden').change(function() {
        $('#Checkout1').toggleClass('disabled', !this.checked);
    });
});
如果标志为true,

toggleClass将添加该类,如果标志为false,则删除它。