我尝试使用data-userId
,但是firebug将其显示为data-userid
(带有小写“i”)。
似乎我们不应该在自定义数据属性中使用大写字母。
HTML5自定义数据属性的命名规则是什么?
请告诉我使用它的最佳做法。
答案 0 :(得分:13)
直接来自the spec:
3.2.3.9使用
嵌入自定义不可见数据data-*
属性自定义数据属性是no namespace中的一个属性,其名称以字符串“
data-
”开头,连字符后面至少有一个字符XML-compatible,并且不包含uppercase ASCII letters。
(强调补充)
XML兼容是什么意思?
如果属性名称与XML中定义的
Name
生成匹配,并且它们不包含U + 003A COLON字符(:),则称其为 XML兼容。
什么是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
:: =NameStartChar
| "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
[5]Name
:: =NameStartChar
(
NameChar
)*
答案 1 :(得分:2)
数据属性名称必须至少为一个字符长,并且必须以“data-”为前缀。它不应包含任何大写字母。
数据属性的名称必须以字符串'data-'开头,并且必须在连字符后面包含至少一个使用任何HTML命名约定的字符。
自定义数据属性旨在将自定义数据存储为页面或应用程序的私有数据,而没有更合适的属性或元素。
答案 2 :(得分:1)
我不知道哪个规则是这样的,我还没有在上面的帖子中找到它,但是如果你想使用jquery数据获取camelCase数据项(' userId')您必须添加属性data-user-id =' xx'