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