可能重复:
为什么我不能将数值作为元素的 ID?
元素的 ID 必须以字母 ([A-Za-z]) 开头。但是如果我做类似的事情
<td id='9'></td>
javascript 可以找到这样的元素。所以我不明白为什么我不能以数字开头
可能重复:
为什么我不能将数值作为元素的 ID?
元素的 ID 必须以字母 ([A-Za-z]) 开头。但是如果我做类似的事情
<td id='9'></td>
javascript 可以找到这样的元素。所以我不明白为什么我不能以数字开头
该标准规定 ID 必须以字母开头。如果浏览器(或者更确切地说是 JavaScript 引擎)选择忽略该要求,那么情况就是如此。浏览器真的很宽容...
如果您偏离规范,您将面临代码无法在决定更严格地遵循规范的浏览器中运行的风险,而不是您正在使用的浏览器。
这可能很好,但这似乎是不必要的风险,因为您可以通过在数字前加上一些固定字符串并维护“数字”id 的语义来避免任何此类问题。
HTML 4 确实规范了
ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。
很长一段时间以来,浏览器都采用了更为宽松的 HTML5 规范,即使它仍然不是官方规范:
任何字符串,具有以下限制:
- 必须至少有一个字符长
- 不得包含任何空格字符
但要小心,因为如果不遵守 HTML4 规范,您可能会在使用旧版浏览器时遇到问题。另请注意,在大多数语言中,程序员都习惯于“通常的 id”,这更像是 HTML4 中的。通过使用“不寻常的” id,您会冒(不是很大)遇到无法处理它们的库的风险。