javascript – 为什么斜杠字符导致我的选择器失败?

在IE 11上使用
JQuery 1.6.4

我的ID中有一个带斜杠的元素.

<span id='a/b'>
test
</span>

在我的代码中,我正在做

alert($('#a/b').length);

输出为0.仅当ID中包含斜杠(/)时才会出现. document.getElementById(‘a / b’)运行正常.

所以我很困惑为什么带有斜杠的id在JQuery中不起作用?

最佳答案 这不是IE的问题.

这是因为/是一个元字符,你不能直接使用它.你必须在使用时逃脱它.

http://api.jquery.com/category/selectors/

To use any of the meta-characters (such as !"#$%&'()*+,./:;<=>?@[\]^``{|}~) as a literal part of a name, it must be escaped with with two backslashes: \.

For example, an element with id="foo.bar", can use the selector $("#foo\\.bar").

点赞