Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 - Fatal编程技术网

Javascript 转义jquery选择器中的特殊字符

Javascript 转义jquery选择器中的特殊字符,javascript,jquery,Javascript,Jquery,我有id='ul\[]ER$%的控件,但当我使用以下正则表达式语法转义控件id中的特殊字符时,它返回以下字符串ul\[\]\E\R\$\%\, 它也逃避了字母表。如何使用jQuery仅转义字符串中的特殊字符。为了转义特殊字符,我使用了以下正则表达式: $("#ul_"+data.replace(/([#;&,.+-_=?{}*~\':%"!^$[\]()=>|\/])/g,"\\$1")) 有两个问题: 正则表达式类[…]中的-不作为文字连字符,而是限定了从+到u的范围,其中包括

我有id='ul\[]ER$%的控件,但当我使用以下正则表达式语法转义控件id中的特殊字符时,它返回以下字符串ul\[\]\E\R\$\%\, 它也逃避了字母表。如何使用jQuery仅转义字符串中的特殊字符。为了转义特殊字符,我使用了以下正则表达式:

$("#ul_"+data.replace(/([#;&,.+-_=?{}*~\':%"!^$[\]()=>|\/])/g,"\\$1"))
有两个问题:

正则表达式类[…]中的-不作为文字连字符,而是限定了从+到u的范围,其中包括大写字母数字字符。因此,要么避开那个连字符,要么把它放在类的末尾

按id选择的属性应以开头。虽然id属性值本身以散列开头,但需要另一个散列,并且需要转义id值的一部分

因此,这将起作用:

var数据=“[]ER$%”; var sel=+ul\+数据。替换/[;&,.+\-\=?{}*~\':%!^$[\]=>\\/]/g,\\$1; console.log$sel.text;
test此处描述的一个功能可能适用于您:

然后像这样使用它:

$('#'+jqSelector('id.with,special#characters')).text('My Selected Element');

当你问你的问题时,在文本区域右侧有一个大橙色的“如何设置格式”框,其中包含有用的信息。还有一个完整的格式化工具条。还有一个[?]按钮提供格式化帮助。还有一个预览区,位于文本区和“发布您的问题”按钮之间,这样您就必须滚动过去才能找到该按钮,以鼓励您查看该按钮,显示您的帖子在发布时的外观。把你的帖子说清楚,并证明你花了时间这样做,可以提高你得到好答案的机会。可能对你有帮助我已经试过了。如果字符之间有特殊字符,那么它就不起作用了。例如$%H&K
$('#'+jqSelector('id.with,special#characters')).text('My Selected Element');