Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何转义CSS标识符开头的数字?_Javascript_Css_Css Selectors_Identifier - Fatal编程技术网

Javascript 如何转义CSS标识符开头的数字?

Javascript 如何转义CSS标识符开头的数字?,javascript,css,css-selectors,identifier,Javascript,Css,Css Selectors,Identifier,我正在尝试编写一个代码 问题来自以数字开头的类 我知道标识符不能以数字开头,所以querySelectorAll会抛出一个错误。但是getElementsByClassName接受它们 那么,有没有办法逃避这些数字呢?我找到了解决办法 标识符不能以数字开头,但可以以unicode数字开头(请参阅) 然后,我可以使用 .replace(/\b\d/g, function(match){return '\\0000' + match.charCodeAt(0).toString(16);}) 上面

我正在尝试编写一个代码

问题来自以数字开头的类

我知道标识符不能以数字开头,所以
querySelectorAll
会抛出一个错误。但是
getElementsByClassName
接受它们

那么,有没有办法逃避这些数字呢?

我找到了解决办法

标识符不能以数字开头,但可以以unicode数字开头(请参阅)

然后,我可以使用

.replace(/\b\d/g, function(match){return '\\0000' + match.charCodeAt(0).toString(16);})
上面的代码转义unicode代码有两个十六进制数字的字符。但对于数字,以下方法也适用:

.replace(/\b\d/g, '\\00003$&')

“。为了使“.55ft”成为有效类,CSS2要求对第一个数字进行转义(“..355ft”)”为什么?有足够的
getElementsByClassName
polyfills可用,因此不要重新发明轮子@因为他们不像我想的那样工作。谢谢你帮我修好了typo@JukkaK.Korpela问题几乎相同,但我指的是一种JavaScript转义方式(请参阅我使用了JavaScript标记,但另一个问题没有)。对于不太了解JS的人来说,将其他问题的答案转换为javascript方法可能不是一件小事。那么我不确定它是否应该作为副本关闭。这是一个具体的实现问题,还有,你刚才说的@Oriol。所以我重新打开了它。