在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 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/
要使用任何的元字符(如
!"#$%&'()*+,./:;<=>[email protected][\]^``{|}~
)作爲名稱的文本部分的,它必須被轉義與兩個反斜槓:\。例如,具有
id="foo.bar"
的元素可以使用選擇器$("#foo\\.bar")
。
感謝您提供此信息。如果我可能會問另一個快速後續問題:所有這些字符運算符是否都是選擇器?我在w3schools上看到了其中幾個用戶的用法:https://www.w3schools.com/jquery/jquery_ref_selectors.asp是w3schools指南的完整內容,還是有更多需要了解選擇器的知識? – ControlAltDel
如果你轉義/字符,它是固定的嗎? \/ –