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

标签 javascript css css-selectors identifier

我正在尝试编码 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/

相关文章:

jQuery 选择向上 2 个 Div

javascript - javascript中的文件扩展名验证

html - 删除链接但使用 CSS 保留图像

css -::selection 的特异性如何作用于类型选择器?

jquery - jquery获取元素位置的方法

css - 如果元素/标签有文本或同级标签,则使用 CSS(或 SCSS)应用填充

html - 第 nth-of-type 没有按预期工作

javascript - 如何使用 Javascript 在字符串中的每个新行之前/之后插入或删除制表符?

javascript - 在 JavaScript 中打包二进制数据

javascript - 使用 jquery 手动提交带有特定提交的表单