在HTML5中检查和取消选中checkbox的正确方法是什么?

看了看HTML规范,却无法做到: http : //www.w3.org/TR/html5/the-input-element.html#attr-input-checked

什么是正确的方式来检查HTML中的checkbox(不dynamic)?

checked="true" checked="checked" 

什么是取消checkbox的正确方法?

 <input type="checkbox" /> with no checked attribute checked="false" checked="none" 

在哪里检查HTML规范检查/取消checkbox?

 <input type="checkbox" checked="checked" /> 

或干脆

 <input type="checkbox" checked /> 

选中checkbox。 没有检查属性( <input type="checkbox" /> )未勾选checkbox。

参考: http : //www.w3.org/TR/html-markup/input.checkbox.html#input.checkbox.attrs.checked

根据HTML5的草案, checked属性是一个“ 布尔属性 ”,“一个元素上布尔属性的存在代表真值,而缺less属性代表假值”。属性的名称重要的,并且足够的。 因此,要使最初检查checkbox,您使用

 <input type=checkbox checked> 

默认情况下,在缺lesschecked属性的情况下,最初取消选中checkbox:

 <input type=checkbox> 

以这种方式保持事情使它们变得简单,但是如果您需要遵从XML语法(即在XHTML线性化中使用HTML5),则不能单独使用属性名称。 然后允许的(根据HTML5草案)值是空string和stringchecked ,不区分大小写。 例:

 <input type="checkbox" checked="checked" /> 

<input type="checkbox" checked />

HTML5不要求属性具有值

你可以参考这个页面在w3schools,但基本上你可以使用任何:

 <input checked> <input checked="checked"> <input checked=""> 

在jQuery中:

要检查checkbox:

 $("#checkboxid").attr("checked","checked"); 

取消选中checkbox:

 $("#checkboxid").removeAttr("checked"); 

其他答案提示解决scheme,并指出你的文档,进一步挖掘将让你这个答案。 Jukka K. Korpela有这个正确的答案的原因,基本上我跟着他的链接,然后查找jQuery文档来得到这个结果。 只是想,我会保存未来的人谁发现这篇文章的额外步骤。

Robert在jQuery中的回答http://jsfiddle.net/ak9Sb/的补充答案;

当获取/设置checkbox状态时,可能会遇到这些现象:

 .trigger("click"); 

是否检查未选中的checkbox,但不要添加已选中的属性。 如果你使用触发器,不要试图获得具有“checked”属性的状态。

 .attr("checked", ""); 

不取消checkbox…

 <form name="myForm" method="post"> <p>Activity.</p> skiing: <input type="checkbox" checked="yes" name="activity" value="skiing" /><br /> skating: <input type="checkbox" name="activity" value="skating" /><br /> running: <input type="checkbox" name="activity" value="running" /><br /> hiking: <input type="checkbox" checked="yes" name="activity" value="hiking" /> </form> 
Interesting Posts