如果选中或取消选中,则更改复选框的父元素css

Rag*_*nar 3 javascript forms checkbox jquery

基本上我在td元素中有一个复选框,我希望它在复选框被选中时有一个背景颜色,而在取消选中复选框时则需要另一个背景颜色.换句话说,我希望它突出显示是否已经检查过.

我尝试使用与此处相同的解决方案:Jquery切换事件正在弄乱复选框值

但由于某种原因,我无法让它发挥作用.

    $(document).ready(function(){
    $("input:checkbox").change(function() {
        if($(this).attr("checked") === "true") {
            // CHECKED, TO WHITE
            $(this).parent().css({"background" : "#ffffff", "-moz-border-radius" : "5px"});
            return;
        }
        //NOT CHECKED, TO GREEN
        $(this).parent().css({"background" : "#b4e3ac", "-moz-border-radius" : "5px"});
    });
});
Run Code Online (Sandbox Code Playgroud)

它确实添加了绿色背景颜色,但不会将其删除.如果我选中复选框,刷新,td又回到白色,再次单击复选框,取消选中它,它会将td的背景更改为绿色.

我还是新手,不知道这里出了什么问题,现在试图弄清楚几个小时.这么简单的事情却无法让它发挥作用.

Emi*_*nov 5

有一种更好的方法可以查看是否已选中复选框:

$(this).is(':checked')
Run Code Online (Sandbox Code Playgroud)

它更健壮一点.