1

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

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

似乎是什么问题?

4

5 回答 5

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');
    };
});
于 2012-12-27T02:38:33.170 回答
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/

于 2012-12-27T02:39:24.887 回答
1

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

于 2012-12-27T02:39:03.177 回答
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');
    };

});
于 2012-12-27T02:39:28.700 回答
0

更改框架工作哞工具。选择 jquery 并运行代码

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

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

});
于 2012-12-27T02:59:59.830 回答