Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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/75.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.hasClass不应返回时返回false';不会吧?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 当jQuery.hasClass不应返回时返回false';不会吧?

Javascript 当jQuery.hasClass不应返回时返回false';不会吧?,javascript,jquery,html,Javascript,Jquery,Html,正在调用jQuery.hasClass 供参考:alias='2983_pirrota_1011_A20_输入%2820cyc%29_773_CEL',它也是元素的id if ($('#' + alias).hasClass('selected')) { alert ("true"); } else { alert ("false"); } 但是,由于它是该类的成员,因此当它应该返回true时,它将返回false!。我使用javascript中的escape()函数对alias值的

正在调用jQuery
.hasClass

供参考:
alias='2983_pirrota_1011_A20_输入%2820cyc%29_773_CEL'
,它也是元素的
id

if ($('#' + alias).hasClass('selected')) {
   alert ("true");
} else {
   alert ("false");
}
但是,由于它是该类的成员,因此当它应该返回
true
时,它将返回
false
!。我使用javascript中的
escape()
函数对alias值的特殊字符进行转义。一旦我删除
%
(这就是
转义
encodeURIcomponent
编码特殊字符的方式),它就会开始正常工作。这是一个已知的问题还是有一个简单的解决方法


谢谢。

是的,这是众所周知的事。您需要用两个反斜杠转义特殊字符:

是的,这是众所周知的事情。您需要用两个反斜杠转义特殊字符:

试试这个

if ($('#' + alias.replace(/%/g, "\\\\")).hasClass('selected')) {
   alert ("true");
} else {
   alert ("false");
}
试试这个

if ($('#' + alias.replace(/%/g, "\\\\")).hasClass('selected')) {
   alert ("true");
} else {
   alert ("false");
}

是否有一个jQuery函数可以自动执行此操作?由于字符串是动态生成的。否,只需使用
别名.replace('%','\\%')
对其进行转义(您可以将其展开以包含更多字符)。是否有自动执行此操作的jQuery函数?由于字符串是动态生成的。否,只需使用
别名.replace('%','\\%')
对其进行转义(您可以将其展开以包含更多字符)。