我正在尝试编码 fallback of getElementsByClassName
with querySelectorAll
for IE8 .
问题来自以数字开头的类。
我知道标识符不能以数字开头,所以 querySelectorAll
会抛出一个错误。但是 getElementsByClassName
接受它们。
那么,有没有办法转义这些数字呢?
最佳答案
我找到了解决方案!
标识符不能以数字开头,但可以以 unicode escaped 开头数字(参见 related answer)。
然后,我可以使用
.replace(/\b\d/g, function(match){return '\\0000' + match.charCodeAt(0).toString(16);})
上面的代码转义了 unicode 代码有两位十六进制数字的字符。但对于数字,以下内容也适用:
.replace(/\b\d/g, '\\00003$&')
关于javascript - 如何转义 CSS 标识符开头的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21651670/