9

我尝试使用data-userId,但萤火虫将其显示为data-userid(带有小写“i”)。看来我们不应该在自定义数据属性中使用大写字母。HTML5 自定义数据属性的命名规则是什么?请让我知道使用它的任何最佳实践。

4

3 回答 3

17

直接来自规范

data-*3.2.3.9 使用属性嵌入自定义不可见数据

定义数据属性是无命名空间中的属性,其名称以字符串“ data-”开头,连字符后至少有一个字符,与XML 兼容,并且不包含大写 ASCII 字母

(重点补充)


XML 兼容是什么意思?

如果属性名称与XML 中定义的产生式匹配并且不包含 U+003A 冒号字符 (:) ,则称它们是XML 兼容的。Name

什么是Name生产规则?

[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
[4a] NameChar ::= [5] ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
NameNameStartChar (NameChar)*

于 2013-10-23T05:26:23.733 回答
3

我不知道是哪个规则,我在上面的帖子的规范中没有找到它,但是如果你想使用 jquery data('userId') 获取 camelCase 数据项,你必须添加属性 data-user-id=' xx'

于 2016-08-05T06:02:39.260 回答
2

数据属性名称必须至少有一个字符长,并且必须以“data-”为前缀。它不应包含任何大写字母。

数据属性的名称必须以字符串“data-”开头,并且必须在使用任何 HTML 命名约定的连字符后至少包含一个字符。

参考 HTML5 数据

自定义数据属性旨在存储页面或应用程序私有的自定义数据,没有更合​​适的属性或元素。

完整的指南可以在W3 推荐中找到。

于 2013-10-23T05:26:17.637 回答