checked和 selected属性只允许两个值,即属性名的副本和(从 HTML 5开始)一个空字符串。给出任何其他价值都是错误的。
如果不想设置属性,那么必须省略整个属性。
注意,在 HTML 4中可以省略除值之外的所有内容。HTML 5改变了这一点,省略了除名称以外的所有内容(这没有实际区别)。
因此,该属性的完整(除了 cAsE 中的变体)有效表示集是:
<input ... checked="checked"> <!-- All versions of HTML / XHTML -->
<input ... checked > <!-- Only HTML 4.01 and earlier -->
<input ... checked > <!-- Only HTML 5 and later -->
<input ... checked="" > <!-- Only HTML 5 and later -->
作为 text/HTML (HTML 或 XHTML)提供的文档将通过标记汤解析器提供,检查属性(带有任何值)的存在将被视为“ This element should be check”。因此,虽然无效,但是 checked="true"、 checked="yes"和 checked="false"都将触发检查状态。
如果给属性赋予一个不同的值,我并不想知道 XML 解析模式的错误恢复机制是什么,但是我想 期待,HTML 和/或简单错误恢复的遗留问题会以同样的方式对待它: 如果属性在那里,那么就检查元素。