我注意到一些元素具有布尔值的属性。我想知道为什么价值观不是真或假?还是1和0?他们为什么会这样,有什么理由吗?
<option selected="selected">Ham Burger</option>
或
<input type="button" disabled="disabled" />
提前致谢!
答案 0 :(得分:17)
在SGML中,可以最小化属性,使其值仅对于名称和值都很短,在这种情况下属性的唯一可能值显然是属性自己的名称。 HTML将此用于布尔属性,其中属性的存在与否是有意义的,并且其值是无关紧要的。但是在XML中,最小化的属性是不允许的,所以当XHTML变得流行时,我们最终会遇到selected="selected"
的尴尬。如果您正在编写HTML而不是XHTML,那么您只需编写selected
。
答案 1 :(得分:8)
某些属性扮演布尔变量的角色(例如,所选属性) OPTION元素的属性)。它们在开始标记中的外观 元素的含义意味着属性的值为“true”。其 缺席意味着值为“false”。
此外:
布尔属性可能合法地采用单个值:属性本身的名称[...]在HTML中,布尔属性可能以最小化形式出现
基本上,这意味着布尔属性只有两种可能的状态,true和false,但没有未设置状态。
答案 2 :(得分:3)
对于disabled属性,我认为是否存在禁用该元素的属性,无论其值如何。
它猜测其中一个原因可能是允许更多的值,而不仅仅是是/否。例如,您可以使用visibility = visible / hidden / collapsed
而不是visible = true / false答案 3 :(得分:1)
HTML标准(不是XHTML)是简单地选择而不是选择=“选择”
见这里:http://www.w3.org/TR/html4/interact/forms.html#adef-selected
当创建XHTML以允许在HTML中更好地与XML集成时(参见http://www.w3.org/MarkUp/2004/xhtml-faq#need),更正了不符合HTML类似XML结构要求的部分。因此,像selected这样的措辞被转换为selected =“selected”以符合标准
答案 4 :(得分:0)
可读性,许多HTML不是由具有计算机科学背景的人编写的,所以“布尔”的概念在这些术语中对他们来说是陌生的。此外,它通过提供关于给定语句功能的强化线索,提高了计算机科学和其他技术用户的可读性。
答案 5 :(得分:0)
正如vc74所说,选择或禁用它的价值并不重要。
<option selected="selected">Ham Burger</option>
将与
相同 <option selected="sjkhdaskj">Ham Burger</option>
答案 6 :(得分:0)
我认为这只是为了方便用户在大多数人类可读的形式中指定属性值,如果他/她不知道什么是真/假
<html>
<body>
<select>
<option>1</option>
<option selected="blah">2</option>
<option >3</option>
</select>
</body>
您在上面的代码中看到我没有使用selected=selected
,我使用了我想要的仍然选择了选项值,或者您只需使用<option selected>2<option>
。