我想在它所属的div元素上选中复选框时添加一个类..
这是我当前代码的链接:[http://jsfiddle.net/WH6bz/2/]
什么似乎是问题?
答案 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 ...在任何情况下都尝试这个更短的代码。通过将toggleClass
与switch
参数一起使用,可以摆脱if..else
语句和所有代码WETness。
$('div.thumb input[type=checkbox]').change(function() {
$(this).closest('div.thumb').toggleClass('highlight', $(this).is(':checked'));
});
答案 2 :(得分:1)
问题是你选择了 Mootools 而不是jQuery作为jsFiddle框架:D。
答案 3 :(得分:1)
您的代码没有任何问题。您必须从jsFiddle左侧边栏的Framework下拉列表中选择jQuery。
$('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');
};
});