0
我正在使用一些遗留代码并尝试将其更新为更新版本的jQuery。我遇到的其中一个错误是,括号现在需要转义或jQuery引发错误。为jQuery选择跳转方括号选择
我有一个包含这样括号中的attrib_id:
group[12345][qf_attrib_12345]
该值被存储在一个选择元件的名称属性。为了以免jQuery抛出一个错误,当我尝试选择这个元素我一直在试图逃跑,像这样的括号:
var escapeAttribId = attrib_id.replace(/\[/g, "\\[");
var escapeAttribId = escapeAttribId.replace(/\]/g, "\\]");
如果我提醒escapeAttribId出它具有以下值屏幕:
group\[26782\]\[qf_attrib_16078\]
这是我所期望的。然而,当我尝试使用这个新的转义版本,像这样来选择:
var att_default = master_selects.filter("[name="+escapeAttribId+"]").attr('value');
一些我仍与下面的警告得到一个错误的时间:
Error: Syntax error, unrecognized expression: [name='group\[26782\']\[qf_attrib_16078\]]
的单引号被里面添加我逃脱的字符串。我确定这是导致语法错误。有谁知道可以将这个单引号的位置移到我的字符串内吗?
不应在属性选择具有的属性值引号包围,即:'.filter('[NAME = ''+ escapeAttribId +'“]')' – 2015-02-24 20:04:53
事实上,在[快速测试](http://jsfiddle.net/4g3uwj29/)中,只要值被引用,您就不需要跳过括号 – 2015-02-24 20:08:22
明白了,谢谢@James Thorpe – sage88 2015-02-24 20:12:43