为什么我不能将数值作为元素的ID?

时间:2011-11-02 21:38:20

标签: html standards web-standards

处理一个项目,差不多完成并整理HTML,我发现你真的不允许拥有一个只是一个数字的ID -

  

<一个>属性“id”具有无效值“567”属性ID的类型为ID。如上所述,它应该以字母开头并且没有空格

Good    <a id="567" href="/index.html">
Good    <a id="n567" href="/index.html">

我可以浏览我的代码并添加一个字母,然后在我的jQuery中使用该值时将其删除,但它会乱七八糟,我真的不需要。

我不应该使用数字作为ID吗?

2 个答案:

答案 0 :(得分:27)

这正是规范所说的。

来自HTML 4 specification

  

ID NAME 令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0- 9]),连字符(“ - ”),   下划线(“_”),冒号(“:”)和句点(“。”)。

好消息是HTML 5 specification更宽松:

  

id属性指定其元素的唯一标识符(ID)。   该值必须在元素主页中的所有ID中唯一   子树,必须包含至少一个字符。价值不能   包含任何空格字符。

答案 1 :(得分:12)

  

为什么我不能将数值作为元素的ID?

因为that's what the HTML4 spec dictates


另一方面,the HTML5 spec has removed this requirement