Javascript 取消选中带有for标签的html复选框
我使用以下html显示带有图像的复选框:Javascript 取消选中带有for标签的html复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我使用以下html显示带有图像的复选框: <div class="testClass"> <input id="111" name="compare_checkbox" type="checkbox" /> <label for="111"> <i class="icon" aria-hidden="true"></i> <b>Compare</b> </
<div class="testClass">
<input id="111" name="compare_checkbox" type="checkbox" />
<label for="111">
<i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>
比较
在某些情况下,我需要取消选中复选框。我正在使用以下jquery:$('#111')[0]。checked=false
如果我没有标签,这个很好用。当我有标签时,我在控制台(Chrome或Firefox)中没有收到任何错误,但复选框没有取消选中。复选框状态最好通过jQuery的
prop
功能跨浏览器处理,不管复选框是否有关联的
与class='111'配合良好 给你
您是否尝试过更改元素的id?我不认为ID只能由数字组成,或者至少它们不能以数字开头,只是让您知道不能让数字作为元素ID的前导。请参阅。希望这对您有所帮助:) 解决方案:
<div class="testClass">
<input id="one" name="compare_checkbox" type="checkbox" />
<label for="one">
<i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>
比较
代码或未发生。JavaScript中一定有其他东西阻止它工作,因为它与当前的标签一起工作。请记住,根据HTML5下面的所有内容,
'111'
不是元素的有效ID。除非您使用的是HTML5,否则ID必须以字母开头。
$('#111').click(function(){
if($('#111').is(":checked")){
alert('checked');
$('#111')[0].checked = false; // uncheck it
}else{
alert('unchecked');
}
});
<div class="testClass">
<input id="one" name="compare_checkbox" type="checkbox" />
<label for="one">
<i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>