我有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 } )
那样的模式是什么
答案 0 :(得分:3)
试试这个
$(".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"/>
答案 1 :(得分:2)
使用此Demo Here
$(".clickMe").on("click", function(){
if($("#thisBox").is(':checked')){
$('#thisBox').prop('checked', false);
}else{
$('#thisBox').prop('checked', true);
}
})
答案 2 :(得分:2)