单击另一个元素时尝试切换复选框

Trying to toggle a checkbox when another element is clicked

我有 p 标签,当我点击 p 标签时,我想切换复选框的复选。现在它只适用于第一个切换。当我单击 p 时,该框被选中,当我再次单击它时,该框被取消选中,仅此而已。如果我再次点击它,屏幕上没有任何反应。当我检查 firebug 中的元素时,checked 属性出现并消失,我认为这是应该发生的,但屏幕上没有任何显示。我尝试使用 prop() 但它没有用。这是我对 attr()

的看法
$(".clickMe").on("click", function(){
    if($("#thisBox").attr("checked") ){
        $("#thisBox").removeAttr("checked")
    }else{
        $("#thisBox").attr("checked","checked")
    }
})

谁能告诉我是否有办法检查元素是否发生变化。喜欢**if**($(el).changes(){ do this } )那是什么模式

使用这个Demo Here

$(".clickMe").on("click", function(){
    if($("#thisBox").is(':checked')){
         $('#thisBox').prop('checked', false);
    }else{
         $('#thisBox').prop('checked', true);
    }
})

试试这个

$(".clickMe").on("click", function(){
    if($('#thisBox')[0].checked){
         $('#thisBox').prop('checked', false);
    }else{
        $('#thisBox').prop('checked', true);
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<input type="checkbox" id="thisBox" /> Testing Checkbox

<input type="button" class="clickMe" text="test" value="testing button"/>

刚刚触发事件:

$(".clickMe").on("click", function(){
    $("#thisBox").trigger("click");
});

LIVE