2014-03-26 150 views
0

我有一個有趣的case.I有一個jquery選擇器,我必須選擇基於fileName的元素。jquery選擇匹配屬性

$("*[fileName='"+filename+"']") 

例A:Linux操作系統的文件名作爲/home/username/a.txt 實例B生成:Windows操作系統文件名爲c生成:\ PROGRAMFILES \用戶名\ A.TXT

CASE甲一切工作正常 CASE選擇器將'\'視爲轉義字符,所以我必須將它們轉義{使用正則表達式或類似的東西}。因爲它在雙引號內的單引號,這意味着我必須將它們轉義兩次。

有沒有解決這個問題的好方法?

+0

問題是什麼? – Peter

+0

我將不得不轉義文件名變量,我不想要 – renacimiento

回答

0
var filename = filename.replace(/\\/g,'/'); 
$("*[fileName='"+filename+"']") 
+0

我的文件名屬性是Windows風格。 – renacimiento

+0

你能寫一個預期的輸入文件名和期望的輸出文件名的例子 – Tuhin

+0

元素的fileName屬性是C:\ home \ user \ a.txt和filename變量也是「C:\ home \ user \ a.txt 「 現在我想選擇那個元素 – renacimiento

0

這個怎麼樣:

var filename= encodeURI(filename); 
$("*[fileName='"+decodeURI(filename)+"']")