2014-03-26 149 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)+"']")