取消选中带有标签的 html 复选框

Uncheck an html checkbox with for label

本文关键字:html 复选框 标签 取消      更新时间:2023-09-26

我正在使用以下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>
</label>
</div>

在某些情况下,我需要取消选中该复选框。我正在使用以下 jquery : $('#111')[0].checked = false;

如果我没有标签,这很好用。当我有标签时,我在控制台(Chrome 或 Firefox)中没有收到任何错误,但复选框不会取消选中。

只是让你知道你不能用数字来领导你的元素 ID。请参阅 HTML 文档中的元素 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>

http://jsfiddle.net/tLsK7/

复选框

状态最好使用 jQuery 的 prop 函数跨浏览器处理,无论复选框是否具有关联的<label>

$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.

使用 for='111' 工作正常

这是 http://jsfiddle.net/spaipalle/umAsw/3/

$('#111').click(function(){
if($('#111').is(":checked")){
        alert('checked');
        $('#111')[0].checked = false; // uncheck it
}else{
        alert('unchecked');
}
});

您是否尝试过更改元素的 id? 我不认为ID可以只由数字组成,或者至少它们不能以数字开头