“选项”标签的“selected”属性中可以显示哪些值?
我有一些类似于以下的标记:
<select>
<option selected="selected">Apple</option>
<option selected="">Orange</option>
</select>
在这种情况下,“橙色”显示为选定的项目。 我会期望使selected
属性为空将撤消其效果。 有没有一种方法可以写出来,而不用简单地将属性留出?
不同的浏览器可能会以不同的方式处理该属性 根据MSDN文档(针对Internet Explorer):
要选择HTML中的项目,不需要将SELECTED属性的值设置为true。 SELECTED属性的存在将其值设置为true。
在firefox和Safari中,这确实起作用:
<option selected='false' />
通过查看HTML4的官方WC3标准,我可以看出,支持的情况只是:
<option selected='selected' />
您将要么选择性地发射该属性,要么使用JavaScript来控制最初选择的项目。
HTML5规范
https://www.w3.org/TR/html51/sec-forms.html#the-option-element
选定的内容属性是一个布尔属性。
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上布尔属性的存在表示真值,缺少属性表示假值。
如果该属性存在,则其值必须是空字符串,或者是该属性规范名称的ASCII不区分大小写匹配的值,且不带前导或尾随空格。
结论
以下是有效的,等同的和真实的 :
<option selected />
<option selected="" />
<option selected="selected" />
<option selected="SeLeCtEd" />
以下内容无效 :
<option selected="0" />
<option selected="1" />
<option selected="false" />
<option selected="true" />
缺少该属性是唯一有效的false语法:
<option />
建议
如果您关心编写有效的XHTML,请使用selected="selected"
,因为<option selected>
是无效的,其他替代方法的可读性较差。 否则,只需使用<option selected>
因为它更短。
XHTML中所选属性的唯一允许值是“ 选中 ”的,所以如果您希望您的标记符合XHTML标准,并且跨所有浏览器工作,则只有这样才能使其不被选中
链接地址: http://www.djcxy.com/p/56031.html上一篇: What values can appear in the "selected" attribute of the "option" tag?
下一篇: Why is a newly created checkbox checked when I set checked to false?