在运行时将转义字符添加到jquery变量

Rea*_*ion 3 javascript jquery

有没有办法自动转义jQuery变量中的字符?我的变量看起来像这样:

var $name = $(this).prev().attr('name');
Run Code Online (Sandbox Code Playgroud)

事情现在变得毛茸茸,因为这个名字有方括号.所以当我尝试这样做时:

$('input:radio[name='+$name+']').next().addClass('so_pretty');
Run Code Online (Sandbox Code Playgroud)

javascript引发了一个契合,因为它从所有括号中混淆了.

无论如何要在飞行中添加那些逃脱斜线?

谢谢,狮子座

PSL*_*PSL 6

把它包在引号中,使焦炭元问题不会因为发生[,]metachars一个jQuery选择.

$('input:radio[name="'+$name+'"]').next().addClass('so_pretty');
                    ^__       ^___
Run Code Online (Sandbox Code Playgroud)

  • @ user2864740 - 这是任意属性过滤器的通用解决方案,因为在属性标记中永远不允许使用双引号. (3认同)