5

最近在这里讨论了一个问题,答案中的用户说 ID 以数字开头在 HTML5 中是可以接受的,那是真的吗?我没有看到有关此主题的任何相关文档,他也在这里为我提供了答案的链接,但似乎相关链接已不复存在。

那么问题来了,HTML5 允许ids以数字开头吗?

现在肯定这在 CSS 中失败了——

<div id="5hello">Fails Completely</div>

#5hello {
   color: red;
}

更新:我什至不确定 HTML5 是否允许id's以数字开头,只是id在元素上声明是不够的,因为 HTML 本身不是这里的问题,但使用<!DOCTYPE html>可以启用其他技术,如 CSS 和 JavaScript使用以编号开头的 id。?我确信 CSS 失败了,没有用 JavaScript 测试过,但我确信它也会失败。

4

1 回答 1

4

根据这个家伙的答案是肯定的。

HTML5 摆脱了对 id 属性的额外限制。除了在文档中唯一之外,剩下的唯一要求是该值必须包含至少一个字符(不能为空),并且不能包含任何空格字符。

您应该遵循有关此问题的 W3C 文档:链接

3.2.3.1 id 属性

id 属性指定其元素的唯一标识符 (ID)。[DOMCORE]

该值在元素的主子树中的所有 ID 中必须是唯一的,并且必须包含至少一个字符。该值不得包含任何空格字符。

元素的唯一标识符可用于多种用途,最显着的是作为使用片段标识符链接到文档特定部分的一种方式,作为在编写脚本时定位元素的一种方式,以及作为一种方式来设置特定元素的样式CSS。

标识符是不透明的字符串。不应从 id 属性的值派生特定含义。

编辑1:我真的很喜欢这个评论,所以如果作者不介意我会将它添加到我的答案中。
“CSS 失败”——不,你只需要做对:link

于 2013-05-31T09:26:17.647 回答