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



在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/

要使用任何元字符(例如!"#$%&'()*+,./:;<=>?@[]^``{|}~(作为名称的文字部分,必须使用两个反斜杠对其进行转义:\。

例如,带有id="foo.bar"的元素可以使用选择器$("#foo\.bar")

最新更新