【问题标题】:Why can't I have a numeric value as the ID of an element?为什么我不能将数值作为元素的 ID?
【发布时间】:2011-12-20 17:15:51
【问题描述】:

正在做一个项目,快完成了,刚刚整理了 HTML,我发现你真的不允许拥有一个只是数字的 ID-

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

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

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

我不应该使用数字作为 ID 有什么原因吗?

【问题讨论】:

  • 这些答案让我想起了育儿:“但我为什么不能……?” -- “因为我这么说!”

标签: html standards web-standards


【解决方案1】:

规范就是这么说的。

来自HTML 4 specification

IDNAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0- 9])、连字符(“-”)、 下划线(“_”)、冒号(“:”)和句点(“.”)。

好消息是HTML 5 specification 更宽松:

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

【讨论】:

  • HTML5 对我来说是第一次派上用场!仍然没有 HTML4 不喜欢它的真正原因,但我很高兴我没有做错任何事情。
  • 自 2002 年以来我一直使用数字 ID,并且没有浏览器无法正常使用它们。我认为这样的规范和无用一样好,可以放心地忽略。
【解决方案2】:

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

因为that's what the HTML4 spec dictates


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

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多