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

HTML-为什么布尔属性没有布尔值?,html,Html,我注意到有些元素具有布尔属性。我想知道为什么这些值不是真是假?还是1和0?他们这样做的背后有什么原因吗 <option selected="selected">Ham Burger</option> 火腿汉堡 或 提前谢谢 对于disabled属性,我认为是属性的存在禁用了元素,而不管其值如何 它猜测其中一个原因可能是未来允许更多的值,而不仅仅是“是/否”。例如,与visible=true/false不同,visibility=visible/hidden/col

我注意到有些元素具有布尔属性。我想知道为什么这些值不是真是假?还是1和0?他们这样做的背后有什么原因吗

<option selected="selected">Ham Burger</option>
火腿汉堡



提前谢谢

对于disabled属性,我认为是属性的存在禁用了元素,而不管其值如何


它猜测其中一个原因可能是未来允许更多的值,而不仅仅是“是/否”。例如,与visible=true/false不同,visibility=visible/hidden/collapsed具有可读性,许多HTML不是由具有计算机科学背景的人编写的,因此“布尔”的概念在这些术语中对他们来说是陌生的。此外,它还为计算机科学和其他技术用户提供了关于给定语句功能的强化线索,从而提高了可读性。

正如vc74所说,无论您选择或禁用的值是多少

火腿汉堡

我也会这样做


火腿汉堡

我认为这只是为了方便用户在不知道什么是真/假的情况下,以大多数人类可读的形式指定属性值

<html>
<body>
<select>
<option>1</option>
<option selected="blah">2</option>
<option >3</option>
</select>
</body>

1.
2.
3.
您可以看到,在上面的代码中,我没有使用
selected=selected
,我使用了我想要的,它仍然选择选项值,或者您可以简单地使用
2

的是:

某些属性扮演布尔变量的角色(例如,选定的 选项元素的属性)。它们在开始标记中的外观 元素的值表示该属性的值为“true”。他们的 缺席表示值为“假”

此外:

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


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

在SGML中,属性可以最小化,以便其值本身就是名称和值的缩写,在这种情况下,属性的唯一可能值显然是属性自己的名称。HTML将其用于布尔属性,其中属性的存在或不存在是有意义的,其值是无关的。但在XML中,最小化属性是不允许的,所以当XHTML流行时,我们就陷入了
selected=“selected”
的尴尬境地。如果您编写的是HTML而不是XHTML,您可以只编写
selected

HTML标准(不是XHTML)是简单地选择而不是selected=“selected”

请看这里:


当创建XHTML以更好地与HTML中的XML集成时(请参阅),不符合HTML类似XML的结构要求的部分得到了纠正。因此,像selected这样的词被转换成selected=“selected”以符合标准

尝试
selected=“true”
selected=“1”
selected
。只要选择了
,该选项就会被选中。如果我输入false?它仍然会被选中:)这会让人困惑,对吗?呵呵。是的,这可能会让人困惑,但建议使用简短的形式。作为旁注-我很高兴看到仍然有人质疑我们已经习惯的事情,仅仅因为我们被告知如此;-)@chucksmash,他们做了件好事;这样你就不会有怪人使用类似
selected=“false”
的东西将元素标记为选中。而且
Ham Burger
仍然是选中的,对吗?混淆:(是:-)请参阅
selected=“blah”
在任何HTML或XHTML方言中都无效。几乎所有的浏览器都能理解你的意思,但这仍然是错误的。对我个人来说,说“狗的棕色就是棕色”(或者实际上是错误的)有点多余。我更喜欢“狗是棕色的”。)是的,我知道这不是一个好方法,我想说的是,它接受属性“selected”…SGML…它的名称本身就是名称和值的缩写。你确定吗?我的理解是SGML的定义是这样的,即值意味着名称,而不是相反。我认为这个答案是完整的<代码>属性的存在或不存在才是有意义的和
XML,最小化的属性是不允许的,因此我们最终陷入了尴尬的境地,即selected=“selected”
@Alohci:很好,我相信我是倒着说的。感谢您的更正。HTML之所以成为笑话的另一个原因是。为了娱乐起见,我希望他们添加selected=“maybe”和visible=“有时”。
<html>
<body>
<select>
<option>1</option>
<option selected="blah">2</option>
<option >3</option>
</select>
</body>