目前在我们的插件设置在html5中设置复选框为选中状态,我应该简单地使用checked(作为属性)还是checked =“checked”(作为属性)?
<input type="checkbox" checked="checked" />
这是为了保持兼容性XHTML作为托运我们设定的复选框。我更习惯设置检查作为属性
<input type="checkbox" checked />
什么是HTML5进行正确的方法是什么?我们应该还在乎XHTML兼容性?
目前在我们的插件设置在html5中设置复选框为选中状态,我应该简单地使用checked(作为属性)还是checked =“checked”(作为属性)?
<input type="checkbox" checked="checked" />
这是为了保持兼容性XHTML作为托运我们设定的复选框。我更习惯设置检查作为属性
<input type="checkbox" checked />
什么是HTML5进行正确的方法是什么?我们应该还在乎XHTML兼容性?
正是在这两种情况下的属性。在任何一种情况下,它都会在元素节点的DOM属性上设置一个值(相同的值,true
)。
对于大多数用途,使用哪种语法并不重要。然而,也有一些需要注意的事项:
checked="checked"
。[checked=checked]
),但在实践中这并不重要:在任何情况下,[checked]
都匹配复选框。checked="checked"
是一个来自SGML的保留,并且仅用于兼容性,因此它可能会使您的代码看起来过时(这很少有关系)。这个语法是否从SGML延伸到XHTML(而不是XML)? – BoltClock
'checked =“checked”'语法也被带入了XML。 HTML5不是基于SGML或XML,因此它可以更自然地定义自己的语法:“布尔”属性只是一个名称(不需要将其解释为名称=值语法的简化形式)。 –
@DanDascalescu当使用jQuery来设置属性时,你必须调用.prop('checked','checked'),因为prop('checked')显然只会检索复选框的状态,attr将不起作用。 [属性与属性:http://api.jquery.com/prop/] –
<!-- Default to unchecked -->
<input type="checkbox">
<!-- Default to checked, XHTML -->
<input type="checkbox" checked="checked" />
<!-- Default to checked, HTML5 -->
<input type="checkbox" checked>
Checked
在HTML 5.一个布尔属性的真值由属性所指示存在,和伪值被指示由于缺席。如果它存在,它的值应该是空的或设置为属性名称checked="checked"
。下面这些形式都是正确的:
<input type="checkbox" checked="checked" />
<input type="checkbox" checked>
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes
您关心HTML5 XHTML兼容,如果要创建使用HTML5的XHTML序列化的文件,要么完全由与application/xhtml+xml
MIME类型服务的文档,或创建一个既可以提供一个多语种的文件如application/xhtml+xml
或text/html
('normal'html mime-type)。
如果您只使用text/html
,那么您不需要关心XHTML语法。但是,在您的页面中嵌入SVG或MathML时,可能会使用XML样式的自闭合语法。 (SVG在最新的浏览器中得到了广泛的支持,MathML的支持更少)。您也可以使用/>
来结束void HTML元素,如元,链接,输入,img等,但这与使用>
来终止这些效果不同元素。
对术语的小评论。在标记中,通常的说法是checked
或checked="checked"
是“属性”。 “财产”是别的。
请注意,您在HTML5中也不需要'/>'。 –
这不是一个属性,这仍然是一个属性。如果您在脚本中或其他任何将其称为属性的位置执行此操作,则只会设置该属性。但在HTML和XML标记中,它被称为属性。 – BoltClock