目前在我们的插件中,我们通过设置
设置复选框<input type="checkbox" checked="checked" />
这是为了保持xhtml兼容性。我以前习惯将设置为属性
<input type="checkbox" checked />
在html5中进行的正确方法是什么?我们还应该关心xhtml兼容性吗?
答案 0 :(得分:39)
在任何一种情况下都是属性。并且它在任何一种情况下都在元素节点的DOM属性上设置一个值(相同的值true
)。
对于大多数用途,使用哪种语法无关紧要。但是,有一些要点需要注意:
checked="checked"
。[checked=checked]
不匹配),但这在实践中无关紧要:[checked]
匹配任一情况下的选中复选框。 checked="checked"
是SGML的延续,仅用于兼容性,因此它可能会使您的代码看起来过时(很少重要)。答案 1 :(得分:25)
<!-- Default to unchecked -->
<input type="checkbox">
<!-- Default to checked, XHTML -->
<input type="checkbox" checked="checked" />
<!-- Default to checked, HTML5 -->
<input type="checkbox" checked>
答案 2 :(得分:11)
Checked
是HTML 5中的布尔属性。真实值由存在的属性指示,虚假值由其缺失指示。如果存在,则其值应为空或设置为属性名称checked="checked"
。这两种形式都是正确的:
<input type="checkbox" checked="checked" />
<input type="checkbox" checked>
https://www.w3.org/TR/html5/infrastructure.html#sec-boolean-attributes
答案 3 :(得分:5)
如果要创建使用HTML5的XHTML序列化的文档,或者通过使用application/xhtml+xml
mime类型提供文档,或者创建可以提供服务的多语言文档,那么您关心HTML5中的XHTML兼容性要么是application/xhtml+xml
要么是text/html
('普通'html mime-type)。
如果您只使用text/html
,那么您不需要关心XHTML语法。但是,在页面中嵌入SVG或MathML时,可能使用XML样式的自动关闭语法。 (SVG在最新的浏览器中得到广泛支持,MathML不太受欢迎。)您也可以使用/>
来结束 void HTML元素,例如元,链接,输入,img等,但这有与使用>
结束这些元素没有什么不同。
对术语的轻微评论。在标记中,按照通常的说法,checked
或checked="checked"
是“属性”。 “财产”是另一回事。
答案 4 :(得分:0)