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

时间:2014-02-08 20:51:26

标签: javascript css css-selectors identifier

我正在尝试编写fallback of getElementsByClassName with querySelectorAll for IE8

问题出现在以数字开头的类中。

我知道标识符不能以数字开头,因此querySelectorAll会引发错误。但getElementsByClassName接受了他们。

然后,有没有办法逃避这些数字?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

标识符不能以数字开头,但可以以unicode escaped数字开头(参见related answer)。

然后,我可以使用

.replace(/\b\d/g, function(match){return '\\0000' + match.charCodeAt(0).toString(16);})

上面的代码转义了unicode代码有十六进制两位数的字符。但对于数字,以下也有效:

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