提问者:小点点

Html的布尔属性


当我在使用html属性时,我看到了布尔属性,并且我已经多次使用了它。

但是当我去到布尔属性的mdn文档时,我读到布尔属性只能有一个值,这个值通常与属性名相同。

而且正如我们所知,布尔属性可以在没有值的情况下编写。 但是当我做一些实验的时候我看到了一些奇怪的行为

<input type="text" disabled />

这是一个输入元素,它有布尔属性,没有值,它工作正常。

<input type="text" disabled="disabled" />

这是一个输入元素,它具有布尔属性,该属性的值与它们的名称相同,并且正如预期的那样,它可以正常工作。

<input type="text" disabled="anything" />

这里有一个具有布尔属性的输入元素,它具有任何值,并且可以正常工作。

为什么有任何值的布尔属性能正常工作?


共2个答案

匿名用户

检查HTML标准中的任何语法问题。 引用一下:

许多属性是布尔属性。 元素上有布尔属性表示true值,没有该属性表示false值。

如果存在该属性,则其值必须是空字符串,或者是与该属性的规范名称不区分大小写的ASCII匹配的值,并且没有前导或后尾空格。

布尔属性上不允许使用值“true”和“false”。 要表示false值,必须完全省略该属性。

下面是选中并禁用复选框的示例。 选中和禁用的属性是布尔属性。

这可以等效地写成:

您还可以混合样式; 以下仍然是等价的:

匿名用户

为什么有任何值的布尔属性能正常工作?

浏览器有大量用于从无效HTML恢复的错误处理例程。

那是其中之一。

相关问题