HTML5中自定义数据属性名称中的有效字符

时间:2014-09-17 18:34:28

标签: javascript html html5

我在我的网站中创建了一些自定义data-*属性,但我很难阅读规范HereHere

我可以告诉[a-z], [0-9] and '-'是允许的,但我无法解释其中的任何内容。

我还认为"A-Z"会在处理之前自动转换为较低(规范链接1),但它提到不使用它们。 (规范链接2)

问题:

1)自定义data-*属性允许和不允许使用哪些字符?

2)是否允许使用'_', '!', '$', etc.等特殊字符?

感谢。

1 个答案:

答案 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无关紧要。这是用于代理如何处理字符的用户代理,无论它们是否有效。