似乎普遍的共识是,对于不需要任何值的XHTML属性,我们应该重复属性名称.例如<input disabled>,正确的XHTML是<input disabled="disabled"/>.
但是,我们可以<input>使用以下任何一项来禁用HTML 元素:
<input disabled=" "/>
<input disabled=""/>
<input disabled="asdfg">
<input disabled="false">
实际上是否有正式规则可供使用disabled="disabled"?还是味道问题?
Spu*_*ley 42
官方正确的xhtml语法是disabled="disabled".
原因是xhtml是XML语法,XML要求属性具有值.xhtml规范还明确指定该值应"禁用".
选择这个值超过任何其他可能值的原因是相当随意的; 他们只是决定将所有以前的布尔属性转换为XML格式,方法是使它们的值与它们的名称相同.
所以是的,有一个官方规范说你必须使用完整的语法.但它只适用于xhtml文档.你可以在这里找到它(如果你disabled在那个页面中搜索,你会发现它被列为仅允许"disabled"作为值.类似于readonly和checked属性).
纯HTML - v4和v5 - 都不以这种方式与XML的限制相关联,并且不需要属性值disabled; 仅仅存在disabled属性就足以禁用该字段,无论您是否具有该属性的值,或该值是什么.
所有这些的最后结果是,如果您使用的是XHTML doctype,或者您希望保持XML兼容,那么您应该使用disabled="disabled".如果您不使用XHTML并且不关心有效的XML语法,那么您可以单独使用,也可以使用disabled您喜欢的任何属性值.
我要注意的另一件事(稍微偏离主题,但可能相关)是这可能会对可能引用该字段的任何CSS或JQuery代码产生影响.例如,我见过人们使用JQuery选择器,例如$('[disabled=disabled]')CSS中的类似选择器.这显然依赖于具有期望值的属性.因此,如果您要在选择器中引用这样的布尔属性,则应该在没有值的情况下引用它,如下所示:$('[disabled]')因为无论属性设置如何,这都将起作用.
有这方面的文档,这些属性的官方术语是"布尔属性"
官方标准在W3C网站上http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2
它说:
它们出现在元素的开始标记中意味着属性的值为"true".他们的缺席意味着"虚假"的价值.
要使您的XHTML加价有效,您必须使用长手牌
<option selected="selected">
Run Code Online (Sandbox Code Playgroud)
对于HTML,您可以使用最小化的表单
<option selected>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20390 次 |
| 最近记录: |