使用带有数字的ID的querySelector
据我了解,HTML5规范使您可以使用ID这样的数字。
<div id="1"></div><div id="2"></div>
我可以使用,getElementById
但不能使用querySelector
。如果尝试执行以下操作, 在控制台中收到
。
document.querySelector("#1")
我只是很好奇,为什么querySelector
当HTML5规范说数字有效时,将数字用作ID 无效。我尝试了多种浏览器。
回答:
它是有效的,但是需要一些特殊的处理。从这里:
前导数字
如果标识符的第一个字符是数字,则需要根据其Unicode代码点对其进行转义。例如,字符1的代码点为U+0031,因此可以将其转义为\000031或\ 31。
基本上,要转义任何数字字符,只需在其前面加上\ 3并附加一个空格字符()。是的Unicode!
因此,您的代码最终将显示为(CSS首先,JS第二):
#\31 {background: hotpink;
}
document.getElementById('1');
document.querySelector('#\\31 ');
以上是 使用带有数字的ID的querySelector 的全部内容, 来源链接: utcz.com/qa/430393.html