最近对这里的一个问题进行了辩论,答案中的用户表示ID开头的数字在HTML5中是可以接受的,那是真的吗?我没有看到关于这个主题的任何相关文档,他也在这里给我提供了这个答案的链接,但似乎相关链接已不复存在.
所以问题是,HTML5允许ids以数字开头吗?
现在可以肯定这在CSS中失败了 -
<div id="5hello">Fails Completely</div>
#5hello {
color: red;
}
Run Code Online (Sandbox Code Playgroud)
更新:我甚至不确定,HTML5允许id's从一个数字开始,只是声明id一个元素是不够的,因为HTML本身不是一个问题,但是使用<!DOCTYPE html>其他技术如CSS和JavaScript与id一起开始使用no.?我确定CSS失败了,没有用JavaScript测试,但我相信它也会失败.
根据这个人的说法,答案是肯定的。
\n\n\n\n\nHTML5 摆脱了对 id 属性的额外限制。\n 除了在文档 \xe2\x80\x94 中唯一之外,\n 剩下的唯一要求是该值必须至少包含一个字符(可以\xe2\x80\x99t 为空),\n n 并且它不能包含任何空格字符。
\n
您应该遵循有关此问题的 W3C 文档:链接
\n\n\n\n\n3.2.3.1 id属性
\n\nid 属性指定其元素的唯一标识符 (ID)。\n [DOMCORE]
\n\n该值在元素的 home 子树中的所有 ID 中必须是唯一的,并且必须至少包含一个字符。该值不得\n 包含任何空格字符。
\n\n元素的唯一标识符可用于多种目的,\n 最值得注意的是作为使用片段标识符链接到文档的特定部分的方式,\n 作为编写脚本时定位元素的方式,\n 以及作为一种通过 CSS 设置特定元素样式的方法。
\n\n标识符是不透明的字符串。不应从 id 属性的值派生出特定含义。
\n
编辑1:我真的很喜欢这个评论,所以如果作者不介意我会将它添加到我的答案中。
\n\xe2\x80\x9cCSS 失败\xe2\x80\x9d \xe2\x80\x93 不,你只需要做对:链接