在html5中将复选框设置为选中,我应该只使用checked(作为属性)还是checked ="checked"(作为属性)?

Nic*_*tti 44 html xhtml html5

目前在我们的插件中,我们通过设置选中复选框

<input type="checkbox" checked="checked" />
Run Code Online (Sandbox Code Playgroud)

这是为了保持xhtml兼容性.我更习惯将托运设置为财产

<input type="checkbox" checked />
Run Code Online (Sandbox Code Playgroud)

在html5中进行的正确方法是什么?我们还应该关心xhtml的兼容性吗?

Juk*_*ela 39

在任何一种情况下它都是一个属性.并且它true在任何一种情况下都在元素节点的DOM属性上设置一个值(相同的值).

在大多数情况下,使用哪种语法无关紧要.但是,有一些要点需要注意:

  • 如果在XML序列化("XHTML5")中使用HTML5,则必须使用checked="checked".
  • 在样式中,使用属性选择器时语法不完全相同(较短的形式不匹配[checked=checked]),但这在实践中无关紧要:[checked]在任何一种情况下匹配选中的复选框.
  • 笨拙的语法checked="checked"是SGML的延续,仅包含兼容性,因此它可能使您的代码看起来过时(很少重要).


小智 25

<!-- Default to unchecked -->
<input type="checkbox">

<!-- Default to checked, XHTML -->
<input type="checkbox" checked="checked" />

<!-- Default to checked, HTML5 -->
<input type="checkbox" checked>
Run Code Online (Sandbox Code Playgroud)

资料来源:http://css-tricks.com/indeterminate-checkboxes/


jnc*_*ton 11

Checked是HTML 5中的布尔属性.真值由存在的属性指示,虚假值由缺席指示.如果存在,则其值应为空或设置为属性名称checked="checked".这两种形式都是正确的:

<input type="checkbox" checked="checked" />
<input type="checkbox" checked>
Run Code Online (Sandbox Code Playgroud)

https://www.w3.org/TR/html5/infrastructure.html#sec-boolean-attributes

  • 完成.将来,您可以自己编辑这样的编辑.协作是使这个网站的答案很棒的原因. (3认同)

Alo*_*hci 5

如果要创建使用HTML5的XHTML序列化的文档,或者通过使用application/xhtml+xmlmime类型提供文档,或创建可以作为application/xhtml+xml或作为text/html(正常)提供的多语言文档,那么您关心HTML5中的XHTML兼容性'html mime-type).

如果您只是使用text/html,那么您不需要关心XHTML语法.但是,在页面中嵌入SVG或MathML时,可以使用XML样式的自动关闭语法.(SVG在最新的浏览器中得到广泛支持,MathML不太受欢迎.)您也可以使用/>结束无效的 HTML元素,如元,链接,输入,img等,但这与使用>结束这些元素没有任何不同.

对术语的一点评论.在标记中,通常用说checked或者checked="checked"是"属性"."财产"是别的东西.