我可以拥有一个元素,该元素的 id
以数字开头或完全是数字吗?
例如这样的事情:
<div id="12"></div>
原文由 jslearner 发布,翻译遵循 CC BY-SA 4.0 许可协议
我可以拥有一个元素,该元素的 id
以数字开头或完全是数字吗?
例如这样的事情:
<div id="12"></div>
原文由 jslearner 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答914 阅读✓ 已解决
3 回答827 阅读✓ 已解决
是的,您可以, 但是使用 CSS 选择器选择/设置样式会很痛苦。
id
仅由数字组成的值 在 HTML 中完全有效;除了空格之外的任何东西都可以。尽管早期的 HTML 规范更加严格( ref 、 ref ),需要一小组字符并以字母开头,但浏览器从不关心,这是 HTML5 规范开放的重要原因。如果 您打算将这些
id
与 CSS 选择器一起使用(例如,使用 CSS 设置它们的样式,或使用querySelector
,querySelectorAll
,library a6,就像使用 CSS 选择器的 jQuery 一样),请注意这可能会很痛苦,您最好不要用字母盯着id
,因为 您不能使用id
以 CSS 中的数字开头id
选择器 字面意思;你必须逃避它。 (例如,#12
是无效的 CSS 选择器;您必须编写它#\31\32
。)因此,如果您要使用,以字母开头会更简单它与 CSS 选择器。为清楚起见,上面列出的这些链接:
下面是一个使用
div
和id
“12” 并用三种方式处理的例子:document.getElementById
document.querySelector
(在支持它的浏览器上)它适用于我用过的所有浏览器(请参阅代码下方的列表)。现场示例:
我从未在浏览器中看到上述失败。以下是我见过的 部分 浏览器:
但是再说一次: 如果 你要对元素使用 CSS 选择器,最好以字母开头;像
#\31\32
这样的选择器很难读懂。