<select name="search[quick_dates]" id="search_quick_dates">
...
</select>
和jQuery:
f.find('select[name=search[quick_dates]]').bind('change', { form: f }, function(e){
...
}
抛出错误:
Uncaught Error: Syntax error, unrecognized expression: select[name=search[quick_dates]]
我可以更新我的jQuery而不是更改属性名称吗?
答案 0 :(得分:2)
使用任何元字符,例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜作为字面的一部分一个名称,必须使用反斜杠进行转义:
改变它:
f.find('select[name=search[quick_dates]]')
对此:
f.find('select[name="search\\[quick_dates\\]"]')
答案 1 :(得分:1)
您需要转义括号。但是使用单个反斜杠不会转义括号,因为单个反斜杠将转义函数内部字符串中的字符,但是您需要反斜杠作为表达式或选择器的一部分,因此您还必须通过另一个反斜杠转义反斜杠。
试试这个:
f.find('select[name=search\\[quick_dates\\]]')