在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")
.