使用我有以下代碼,這是我從另一個SO問題偷走,試圖逃跑字符串作爲jQuery選擇
$('#'+'^`test'.replace(/[!"#$%&'()*+,.\/:;<=>[email protected][\\\]^`{|}~]/g, "\\\\$&"))
產生下面的錯誤。
Uncaught Error: Syntax error, unrecognized expression: #\\^\\`test(…)
我只是有一些標識瘋狂的字符,如^和`,我需要jQuery的不嗆。我不知道爲什麼這個錯誤發生的事情,因爲如果我手動添加斜線到字符串一樣,
$('#'+'\\^\\`test')
然後正常工作。正則表達式有什麼問題?
有趣的是,我不知道該如何工作。我想我會使用getElementById,但我想這是對我的問題最直接的答案。 – Moss
@Moss:這是[屬性值選擇器](https://www.w3.org/TR/css3-selectors/#attribute-representation)。但是,是的,getElementById是一個很好的方法(爲什麼我沒有提到它?!),當ID可以是「狂野」時。 '$(document.getElementById(theId))。doSomething();' –
什麼意思是我不明白你的解決方案如何工作,但我的第一次嘗試沒有。特定於jQuery的東西? – Moss