Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery使用斜杠选择属性_Javascript_Jquery_Html_Jquery Selectors_Escaping - Fatal编程技术网

Javascript Jquery使用斜杠选择属性

Javascript Jquery使用斜杠选择属性,javascript,jquery,html,jquery-selectors,escaping,Javascript,Jquery,Html,Jquery Selectors,Escaping,我正在尝试选择一个对象,该对象使用JQuery通过一个唯一文件名的属性值进行过滤。当选择器使用var时,我无法摆脱斜杠。我尝试多种组合时损失了2个小时,但我认为我遗漏了一些东西。提前谢谢你的光 我的HTML: <table class="table table-condensed" id="CLKPMTable_2"><tbody><tr class="click-row" valuetype="PM" filename="\\server\folder\file1

我正在尝试选择一个对象,该对象使用JQuery通过一个唯一文件名的属性值进行过滤。当选择器使用var时,我无法摆脱斜杠。我尝试多种组合时损失了2个小时,但我认为我遗漏了一些东西。提前谢谢你的光

我的HTML:

<table class="table table-condensed" id="CLKPMTable_2"><tbody><tr class="click-row" valuetype="PM" filename="\\server\folder\file1" paymentmethodid="1"><td class="col-md-1"><img width="24" height="24" src="/Content/img/123.png" id="PMURLIMG_"></td><td class="col-md-10" id="PM_FILENAME_">BO OCT</td><td class="col-md-1 text-right"><img width="16" height="16" src="/Content/img/notyet.png" id="PM_STATUS_"></td></tr><tr class="click-row" valuetype="PM" filename="\\server\folder\file2" paymentmethodid="2"><td class="col-md-1"><img width="24" height="24" src="/Content/img/visa.png" id="PMURLIMG_"></td><td class="col-md-10" id="PM_FILENAME_">O SEP</td><td class="col-md-1 text-right"><img width="16" height="16" src="/Content/img/notyet.png" id="PM_STATUS_"></td></tr></tbody></table>
也不适用于:

var filenamescaped = filename.replace('\\','\\\\')
var selec = $('tr[valueType="PM"][filename="'+filenamescaped+'"]');
也不适用于(发件人:):

我的小提琴手要做一些测试:

在这种情况下,该值的反斜杠需要加倍两次才能作为有效选择器使用

var filename=“\;
var selec=document.querySelector('tr[valueType=“PM”][filename=“”+filename+”);
警报(selec.getAttribute(“paymentmethodid”)

BO OCTO SEP
无法使用替换双转义斜杠这是您要找的吗<代码>var filename=“\\\\server\\folder\\file1”;警报(“测试:+文件名)
这将转义反斜杠。请尝试使用
。替换(“/”,“/”
而不是
。替换(“/”,“//”)
;第二个斜杠不会取代单个斜杠。因此发生的是
\f
s正在变成换页字符;即使它们不是f,在替换发生之前反斜杠仍然会“用完”,因为它们是在字符串声明中计算的,而不是在使用它的地方。至于解决方案,我仍然不知道……问题是,当您有机会运行replace命令时,反斜杠已经消失了。不起作用,他不能直接更改变量,只有replace命令,此时反斜杠已经消失。虽然我不认为这在代码的这一点上是可以解决的;它必须提前“修复”,所以这不是你的错。谢谢。我从这里得到了这个解决方案:事实上,我正试图用我的脑袋把这个逻辑插入到一个“替换”中,正如@Feathercrown所说,我不能硬编码这个逻辑,而且替换似乎不起作用(\\by\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\尝试了几种方法@LGSon,我不能用四个斜杠替换为替换:S@LeandroTupone我也在测试,我会再试一试的tests@LeandroTupone更新了我的答案。。。可能有帮助,也可能没有帮助,但表明需要什么
var filenamescaped = filename.replace('\\','\\\\')
var selec = $('tr[valueType="PM"][filename="'+filenamescaped+'"]');
function jq( myid ) {
 return myid.replace( /(:|\.|\[|\]|,|=)/g, "\\$1" );
}

 var filename = "\\server\folder\file1";
  var filenamescaped = jq(filename);