最近对一个问题here进行了辩论,其中答案中的用户说在HTML5中可以接受以数字开头的ID,那是真的吗?我没有看到关于这个主题的任何相关文档,他也在这里给我提供了this答案的链接,但似乎没有更多的相关链接。
所以问题是,HTML5允许ids
以数字开头吗?
现在肯定会在CSS中失败 -
<div id="5hello">Fails Completely</div>
#5hello {
color: red;
}
更新:我甚至不确定HTML5是否允许id's
以数字开头,只是在元素上声明id
是不够的,因为HTML本身不是一个问题,但使用<!DOCTYPE html>
使用其他技术(如CSS和JavaScript)可以使用从no开头的id。我确定CSS失败了,没有用JavaScript测试,但我相信它也会失败。
答案 0 :(得分:4)
根据guy,答案是肯定的。
HTML5摆脱了对id属性的额外限制。该 只剩下要求 - 除了在文件中是独一无二的 - 是 该值必须至少包含一个字符(不能为空), 并且它不能包含任何空格字符。
您应该关注此问题的W3C文档:link
3.2.3.1 id属性
id属性指定其元素的唯一标识符(ID)。 [DOMCORE]
该值必须在元素主页中的所有ID中唯一 子树,必须包含至少一个字符。价值不能 包含任何空格字符。
元素的唯一标识符可用于各种目的, 最值得注意的是使用链接到文档的特定部分的方法 片段标识符,作为在编写脚本时定位元素的方法, 并且作为一种从CSS设置特定元素的方式。
标识符是不透明的字符串。特殊含义不应该是 派生自id属性的值。
编辑1:我非常喜欢这个评论,所以如果作者不介意的话,我会把它添加到我的答案中 “CSS失败” - 不,你只需要做正确的事:link