当我点击div
时,我希望checkbox
更改为绿色,然后当我点击复选框时,应该删除绿色。当我添加$('div.formfld').removeClass('green');
时,添加绿色的动作也会消失。
以下是代码:
<head>
<script>
$(document).ready(function(){
$(".clicker").click(function(){
$('div.formfld').addClass('green');
$('div.formfld').removeClass('green');
});
});
</script>
<style>
.formfld{ padding:5px; }
.grey{ background-color:#CCCCCC; }
.green{ background-color:#006600; }
</style>
</head>
<body>
<div class="formfld grey" id="frm">
<input type="checkbox" class="clicker" />
Name
</div>
</body>
答案 0 :(得分:5)
您正在添加,然后为每次点击删除该类。请改用toggleClass
。此外,在元素上使用change
事件以确保无法使用鼠标的用户访问:
$(".clicker").change(function(){
$('div.formfld').toggleClass('green');
});
答案 1 :(得分:3)
您需要使用toggleClass()切换班级
jQuery(function ($) {
$(".clicker").click(function () {
$('div.formfld').toggleClass('green');
});
});
演示:Fiddle
答案 2 :(得分:3)
$('div.formfld').toggleClass('green');