空的html属性与没有值的属性一样吗?

时间:2019-07-09 17:24:17

标签: html

大多数文档中将某些html属性描述为没有值。例子包括

<script async ...>
<option selected ...>
<input type="checkbox" checked ...>

这些属性和空属性之间是否存在功能/语义上的差异?

<script async="" ...>
<option selected="" ...>
<input type="checkbox" checked="" ...>

我之所以问是因为我正在使用一些库来解析html,然后操纵几个节点,然后将节点序列化回html,而序列化程序将前者转换为后者。

使用空的属性值是否还可以,还是应该让html返回上面的顶级格式?

2 个答案:

答案 0 :(得分:2)

Quote from w3c

  

没有为其分配值(例如,选中)的布尔属性隐式等效于为其分配了空字符串(即,选中的=“”)的布尔属性。结果,它代表了真实的价值。

答案 1 :(得分:0)

从功能上来说,这应该具有相同的效果,但是空属性可能会导致XHTML验证问题,尽管根据要求/规范,这可能不会成为问题。您随时可以在W3C验证器上对其进行检查:https://validator.w3.org/