我在我的网站中创建了一些自定义data-*
属性,但我很难阅读规范Here和Here。
我可以告诉[a-z], [0-9] and '-'
是允许的,但我无法解释其中的任何内容。
我还认为"A-Z"
会在处理之前自动转换为较低(规范链接1),但它提到不使用它们。 (规范链接2)
1)自定义data-*
属性允许和不允许使用哪些字符?
2)是否允许使用'_', '!', '$', etc.
等特殊字符?
感谢。
答案 0 :(得分:12)
在规范链接2中,允许的字符来自XML中的名称生成,假设该属性已经以data-
开头
":" | [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] | "-" |
"." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
_
明确列为确定
!
(#x21)和$
(#x24)是不允许的
规范链接1无关紧要。这是用于代理如何处理字符的用户代理,无论它们是否有效。