我知道boolean attribute可以选择有值。来自HTML5规范:
元素上存在布尔属性表示真值,缺少属性表示false值。如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格。注意:布尔属性不允许使用值“true”和“false”。要表示错误值,必须完全省略该属性。
我认为有一个有效的历史原因可以解释为什么允许值(并且仅允许不区分大小写的名称匹配)...但我的问题是:有什么好处,如果任何,具有这些布尔属性的值? (或缺点,如果有的话。)
例如:
<option selected="selected">...</option>
...
<input required="required" ... />
与
<option selected>...</option>
...
<input required ... />
答案 0 :(得分:1)
如果您因任何原因需要执行XHTML,则必须这样做,因为属性必须包含XML格式的值。
答案 1 :(得分:0)
使用空字符串与使属性没有值一致。如果将布尔属性设置为空字符串,则该属性将在Chrome开发者工具中显示为未设置(没有值)。