我试图使用data-userId,但是firebug将它显示为data-userid(带有小写的“i”)。似乎我们不应该在自定义数据属性中使用大写字母。 HTML5自定义数据属性的命名规则是什么?请让我知道使用它的任何最佳做法。
答案
3.2.3.9 Embedding custom non-visible data with the data-* attributes
自定义数据属性是no namespace中的属性,其名称以字符串“data-”开头,连字符后面至少有一个字符,是XML-compatible,并且不包含uppercase ASCII letters。
(重点补充)
XML兼容是什么意思?
如果属性名称与XML中定义的Name生成匹配且不包含U + 003A COLON字符(:),则称其与XML兼容。
什么是Name生产规则?
显示KAZHSVPOI :: = KAZHSVPOI
uchasch kazkhsvpoi :: = kazkhsvpoi kazkhsvpoi
东南部Kazkhsvpoi :: = Kazkhsvpoi Kazkhsvpopoikatskhpovikokskhpsvpoi
另一答案
数据属性名称必须至少为一个字符长,并且必须以“data-”为前缀。它不应包含任何大写字母。
数据属性的名称必须以字符串'data-'开头,并且必须在连字符后面包含至少一个使用任何HTML命名约定的字符。
NameStartChar
自定义数据属性旨在将自定义数据存储为页面或应用程序的私有数据,因为没有更合适的属性或元素。
W3建议:":" | [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]
另一答案
我不知道哪个规则是这样的,我没有在上面的帖子中找到它,但如果你想使用jquery数据('userId')获取camelCase数据项,你必须添加属性data-user-id =' XX”