我有一些类似于以下的标记:
在这种情况下,"橙色"显示为所选项目.我原本期望将selected
属性设为空白会撤消其效果.有没有办法写这个而不是简单地离开属性?
不同的浏览器可以不同地处理此属性 根据MSDN文档(适用于Internet Explorer):
要在HTML中选择项目,不必将SELECTED属性的值设置为true.仅存在SELECTED属性将其值设置为true.
在Firefox和Safari中,这确实有效:
通过查看HTML4的官方WC3标准我可以看出,支持的案例仅包括:
您将需要有选择地发出属性,或使用javascript来控制最初选择的项目.
HTML5规范
https://www.w3.org/TR/html51/sec-forms.html#the-option-element
所选内容属性是布尔属性.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上存在布尔属性表示真值,缺少属性表示false值.
如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格.
结论
以下是有效,等效和真实的:
以下是无效的:
缺少该属性是false的唯一有效语法:
建议
如果您关心编写有效的XHTML,请使用selected="selected"
,因为它是无效的,而其他替代方案的可读性较差.否则,只需使用
它,因为它更短.
XHTML中所选属性的唯一允许值是"已选中 ",因此如果您希望您的标记符合XHTML并且在所有浏览器中工作,则将其取消是唯一的选择,使其不被选中