我在 html 元素中有 data 属性为<button data-verified=false>Update</button>
. 它具有数据属性的布尔值。
<button data-verified="false">Update</button>
由于数据属性用双引号括起来,因此与以下元素有什么区别。
html 是否支持布尔值?
我在 html 元素中有 data 属性为<button data-verified=false>Update</button>
. 它具有数据属性的布尔值。
<button data-verified="false">Update</button>
由于数据属性用双引号括起来,因此与以下元素有什么区别。
html 是否支持布尔值?
HTML 支持布尔属性,但数据验证不是其中之一,无论它如何出现在标记中。data-verified=false
并且data-verified="false"
都创建了一个字符串类型和值“false”的属性,如果在 JS 中作为布尔值进行测试,它将被视为true
这只是这种情况,因为false
不包含空格。作为一个相反的例子,data-verified=not true
它是无效的,并且与data-verified="not true"
值没有区别 - 但是,总是更喜欢引用属性值,因为:
我的回答证实了你引用 HTML5 属性吗?
唯一的区别是在 XHTML 中只允许使用后者。在 HTML 语法中,它们都是允许的,并且它们是等价的:在解析 HTML 标记时会丢失差异,并且 DOM 在这两种情况下都只包含 string false
。
这遵循 HTML 中的一般原则,并且不以任何方式依赖于属性的名称。
“布尔值”是一个模糊的术语。在 HTML5 中,一些属性被称为“布尔属性”,但这是非常具有误导性的——尤其是因为值true
和false
远非唯一允许的值,对于这些值根本不允许。您需要阅读“布尔属性”的规范以了解它们的真正含义。
当您使用data-*
属性时,完全取决于您将什么用作值以及如何处理它们。
我认为这只是属性总是有双引号的约定。
然而。在 jQuery 中,您可以使用该.data()
方法。它足够聪明,可以识别布尔值和数值。