2011-05-27 48 views
1

我有這個樣子jQuery的發現錨

<a rel="C:\dev/ACME.Console/3rdPartyBinaries/" href="#">3rdPartyBinaries</a> 

它可以被嵌套在Li或UL標籤

,我試圖設置這些錨的背景色的錨標記點擊標籤。我現在正在用以下功能來做這件事。

function (file) {   
    $('a[rel="' + file + '"]').css("background", "#eee"); 

所以,當過定位元素被點擊上面的函數被擊中並作爲錨版本的文件屬性參數傳遞。但是背景沒有用上述方法設置。

任何幫助將大大appreaciated

+1

我要出去肢體,並猜測你的選擇器不工作,因爲「文件」var不完全匹配...你必須包括整個路徑在該rel?它不只是文件夾名稱? ..http://jsfiddle.net/uCRnF/這與斜槓有關。在我的例子中,它工作正常,沒有斜槓 – Jason 2011-05-27 03:49:19

回答

3

你需要加倍逃避你的字符串\

file('C:\\\\dev/ACME.Console/3rdPartyBinaries/') 

此刻,你\被轉義d,這不是一個特殊的轉義序列使剛剛返回d。您需要轉義轉義字符,然後再次對選擇器字符串進行轉義。

jsFiddle

而不是記住兩次轉義,你可以處理函數內選擇器的轉義序列。

file = file.replace(/\\/g, '\\\\'); 

jsFiddle

+1

你提到的解決方案工作,非常感謝 – karthik 2011-05-27 04:26:34

+0

@karthik不用擔心:) – alex 2011-05-27 04:29:03