在HTML5中使用数字启动ID是否有效?如果我们使用HTML5 doctype,其他技术是否支持这些id?

时间:2013-05-31 09:23:55

标签: html5 attributes

最近对一个问题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测试,但我相信它也会失败。

1 个答案:

答案 0 :(得分:4)

根据guy,答案是肯定的。

  

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

您应该关注此问题的W3C文档:link

  

3.2.3.1 id属性

     

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

     

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

     

元素的唯一标识符可用于各种目的,   最值得注意的是使用链接到文档的特定部分的方法   片段标识符,作为在编写脚本时定位元素的方法,   并且作为一种从CSS设置特定元素的方式。

     

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

编辑1:我非常喜欢这个评论,所以如果作者不介意的话,我会把它添加到我的答案中 “CSS失败” - 不,你只需要做正确的事:link