HTML - 为什么布尔属性没有布尔值?

dpp*_*dpp 23 html

我注意到一些元素具有布尔值的属性.我想知道为什么价值观不是真或假?还是1和0?他们为什么会这样,有什么理由吗?

<option selected="selected">Ham Burger</option>
Run Code Online (Sandbox Code Playgroud)

要么

<input type="button" disabled="disabled" />
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Chu*_*uck 17

在SGML中,可以最小化属性,使得它的值对于名称和值都是短的,在这种情况下属性的唯一可能值显然是属性自己的名称.HTML将此用于布尔属性,其中属性的存在与否是有意义的,并且其值是无关紧要的.但是在XML中,最小化的属性是不允许的,所以我们最终摆脱了selected="selected"XHTML流行时的尴尬.如果您正在编写HTML而不是XHTML,那么您可以编写selected.

  • 我认为这个答案是完整的."属性的存在与否是有意义的"和"XML,最小化的属性是不允许的,所以我们最终选择了尴尬="选中"` (2认同)

Álv*_*lez 8

确切的定义是:

某些属性扮演布尔变量的角色(例如,OPTION元素的selected属性).它们出现在元素的开始标记中意味着属性的值为"true".他们的 缺席意味着"虚假"的价值.

也:

布尔属性可以合法地采用单个值:属性本身的名称[...]在HTML中,布尔属性可以以最小化的形式出现

基本上,这意味着布尔属性只有两种可能的状态,true和false,但没有设置状态.