Javascript 带斜杠的jQuery选择器

Javascript 带斜杠的jQuery选择器,javascript,jquery,Javascript,Jquery,我有html <a href="#" data-ext="sql" rel="\dir\file.sql" id="file">file.sql</a> 不起作用,因为\删除(为什么?) 那么,我如何使用\通过rel选择项目 这并不是所有人都想工作 $("#file[rel='\\dir\\file.sql']") $("#file[rel='/\dir/\file.sql']") // ^^ 示例无效:(反斜杠是转义字符。要转义转义字符,可以将其加倍: 编辑-在这

我有html

<a href="#" data-ext="sql" rel="\dir\file.sql" id="file">file.sql</a>
不起作用,因为
\
删除(为什么?)

那么,我如何使用
\
通过rel选择项目

这并不是所有人都想工作

$("#file[rel='\\dir\\file.sql']")
$("#file[rel='/\dir/\file.sql']")  // ^^

示例无效:(

反斜杠是转义字符。要转义转义字符,可以将其加倍:

编辑-在这种情况下,转义需要双重转义:


反斜杠是转义字符。要转义转义字符,可以将其加倍:

编辑-在这种情况下,转义需要双重转义:


对此,您需要使用双反斜杠:

$("#file[rel='\\dir\\file.sql']")
这是因为只有一个
\
斜杠将尝试转义下一个符号,而双斜杠将转义第一个斜杠

更新

似乎您需要使用
\\\\

$("#file[rel='\\\\dir\\\\file.sql']")

对此,您需要使用双反斜杠:

$("#file[rel='\\dir\\file.sql']")
这是因为只有一个
\
斜杠将尝试转义下一个符号,而双斜杠将转义第一个斜杠

更新

似乎您需要使用
\\\\

$("#file[rel='\\\\dir\\\\file.sql']")

您需要避开两个斜杠,而不仅仅是1个斜杠

$("#file[rel='\\\\dir\\\\file.sql']") // that's 4 slashes in each case, 8 total

这是因为首先,这个字符串被传递给jQuery,此时它将成为

"#file[rel='\\dir\\file.sql']"
然后,当它再次在内部传递到
document.querySelectorAll()
时,将正确转义css选择器引擎的斜杠


您需要避开两个斜杠,而不仅仅是1个斜杠

$("#file[rel='\\\\dir\\\\file.sql']") // that's 4 slashes in each case, 8 total

这是因为首先,这个字符串被传递给jQuery,此时它将成为

"#file[rel='\\dir\\file.sql']"
然后,当它再次在内部传递到
document.querySelectorAll()
时,将正确转义css选择器引擎的斜杠


我自己从来没有遇到过,但在这里之前我也遇到过一次。我自己从来没有遇到过,但在这里之前我也遇到过一次。因为它两次都没有被取代。因为它两次都没有被取代。