我认为根据W3规范,你应该这样做
<input type="checkbox" checked="checked" />
Run Code Online (Sandbox Code Playgroud)
和
selected="selected"
Run Code Online (Sandbox Code Playgroud)
但是,大多数浏览器会接受它,你只需要写"CHECKED"并且不给它一个值.那么,如果你确实包含了属性,那么是否有任何值(一致地)被认为是假的?
mpe*_*pen 96
有没有价值,这将导致该复选框是选中.如果该checked属性存在,则无论您将其设置为什么值,都将选中该复选框.
<input type="checkbox" checked />
<input type="checkbox" checked="" />
<input type="checkbox" checked="checked" />
<input type="checkbox" checked="unchecked" />
<input type="checkbox" checked="true" />
<input type="checkbox" checked="false" />
<input type="checkbox" checked="on" />
<input type="checkbox" checked="off" />
<input type="checkbox" checked="1" />
<input type="checkbox" checked="0" />
<input type="checkbox" checked="yes" />
<input type="checkbox" checked="no" />
<input type="checkbox" checked="y" />
<input type="checkbox" checked="n" />Run Code Online (Sandbox Code Playgroud)
渲染所有现代浏览器(FF3.6,Chrome 10,IE8)中检查的所有内容.
Que*_*tin 35
的checked和selected属性被允许只有两个值,它们是属性名称的副本和(来自HTML 5起)一个空字符串.给出任何其他值都是错误的.
如果您不想设置属性,则必须省略整个属性.
请注意,在HTML 4中,您可以省略除值之外的所有内容.HTML 5将其更改为省略除名称之外的所有内容(这没有实际区别).
因此,完整的(除了cAsE的变化)属性的有效表示集合是:
<input ... checked="checked"> <!-- All versions of HTML / XHTML -->
<input ... checked > <!-- Only HTML 4.01 and earlier -->
<input ... checked > <!-- Only HTML 5 and later -->
<input ... checked="" > <!-- Only HTML 5 and later -->
Run Code Online (Sandbox Code Playgroud)
用作text/html(HTML或XHTML)的文档将通过标记汤解析器提供,并且checked属性(具有任何值)的存在将被视为"应该检查此元素".因此,虽然无效,checked="true",checked="yes",并且checked="false"将所有触发的选中状态.
我没有任何倾向于找出XML解析模式的错误恢复机制应该为该属性赋予不同的值,但我希望 HTML的遗留和/或简单的错误恢复会将其视为同样的方法:如果属性在那里,则检查元素.
(以上所有内容同样适用selected于checked.)
Cir*_*四事件 12
没有值被视为false,只有缺少属性.但是有很多无效值,有些实现可能会将某些无效值视为false.
HTML5规范
http://www.w3.org/TR/html5/forms.html#attr-input-checked:
disabled content属性是布尔属性.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上存在布尔属性表示真值,缺少属性表示false值.
如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格.
结论
以下是有效,等效和真实的:
<input type="checkbox" checked />
<input type="checkbox" checked="" />
<input type="checkbox" checked="checked" />
<input type="checkbox" checked="ChEcKeD" />
Run Code Online (Sandbox Code Playgroud)
以下是无效的:
<input type="checkbox" checked="0" />
<input type="checkbox" checked="1" />
<input type="checkbox" checked="false" />
<input type="checkbox" checked="true" />
Run Code Online (Sandbox Code Playgroud)
缺少该属性是false的唯一有效语法:
<input type="checkbox" />
Run Code Online (Sandbox Code Playgroud)
建议
如果您关心编写有效的XHTML,请使用checked="checked",因为它<input checked>是无效的,而其他替代方案的可读性较差.否则,只需使用<input checked>它,因为它更短.