HTML 4.01 spec和this post表示HTML ID令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9] ]),连字符( - ),下划线(_),冒号(:)和句点(。)。
在HTML5
中,您现在可以使用任何字符,只要至少有一个字符且不使用空格。
它很难逃脱CSS代码的特征,但我的问题是,如何编写一个可以安全地转义选择器的方法,以便它可以在document.querySelector
中使用而不会抛出错误?
修改
我知道您使用反斜杠来逃避特殊字符,但我的问题实际上归结为:如何确定哪些字符需要转义。正则表达式会很好。
答案 0 :(得分:1)
你可以使用斜杠来寻找:
document.querySelector('#id\\<<meta character>>');
例如:
document.querySelector('#id\\:title');
答案 1 :(得分:1)
您可以使用斜杠()来转义它,但由于\
本身是一个转义字符,您需要使用\\
代表my#id
,my\\#id