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