选中复选框时,Jquery addClass

时间:2012-12-27 02:33:51

标签: javascript jquery

我想在它所属的div元素上选中复选框时添加一个类..

这是我当前代码的链接:[http://jsfiddle.net/WH6bz/2/]

什么似乎是问题?

5 个答案:

答案 0 :(得分:3)

问题是你使用的是Mootools。

试试这个:http://jsfiddle.net/WH6bz/3/

此外, else 条件应为removeClass()

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").removeClass('highlight');
    };
});

答案 1 :(得分:3)

问题是你没有在你的小提琴中加载jQuery ...在任何情况下都尝试这个更短的代码。通过将toggleClassswitch参数一起使用,可以摆脱if..else语句和所有代码WETness。

$('div.thumb input[type=checkbox]').change(function() {
  $(this).closest('div.thumb').toggleClass('highlight', $(this).is(':checked'));
});

http://jsfiddle.net/WH6bz/4/

答案 2 :(得分:1)

问题是你选择了 Mootools 而不是jQuery作为jsFiddle框架:D。

答案 3 :(得分:1)

您的代码没有任何问题。您必须从jsFiddle左侧边栏的Framework下拉列表中选择jQuery。

演示:http://jsfiddle.net/UvVvH/

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").addClass('highlight');
    };

});

答案 4 :(得分:0)

更改框架mootools。选择jquery并运行代码

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").removeClass('highlight');
    };

});