我有一些代碼有'。'字符在CSS類名,因此逃生時需要使用選擇$('.classNameWithDot\\.inIt')
jquery:文字字符串選擇符與變量選擇符的區別
我遇到了一個有趣的錯誤,由此,如果你在一個變量選擇存儲也不會如預期,除非你改變你如何共同尋找元素從兩個反斜槓中將點字符轉義。
//will not work
//var selector = '.classNameWithDot\\.inIt';
//works in a variable, with one backslash as opposed to the required double backslash for the literal
var selector = '.classNameWithDot\.inIt';
var element = $(selector);
我的問題是爲什麼會出現這種情況?爲什麼我們必須在文字選擇器中使用雙反斜線,而在變量選擇器中使用單斜線?
'」 .classNameWithDot \ .inIt''結果,所以我懷疑你的觀察是否正確。無論您使用字符串文字還是變量都無關緊要。除非你可以用http://jsfiddle.net/(或類似的東西)來重現這種行爲,否則我認爲你的實際問題在別的地方。 – 2014-08-28 22:14:06
這個小提琴與您的描述不符:http://jsfiddle.net/jtbowden/zf4daLxt/ – 2014-08-28 22:25:30
類名稱不以'點'開頭。例如:'someName.restOfName'。 @FelixKling – nelsonomuto 2014-09-28 22:36:46