【发布时间】:2013-05-27 10:37:05
【问题描述】:
我知道 SO 中已经有很多关于这个问题的帖子。但它们都不适合我的情况。
我有多个选择输入,命名格式如下:
select name="violationCategory[${theCount.count-1}].subCategory"
翻译成类似这样的东西:
select name="violationCategory[0].subCategory"
select name="violationCategory[1].subCategory"
.. so on
如果满足某些条件,我必须在这些选择输入上应用特定类。 所以,我尝试用这样的东西替换方括号:
if(key.indexOf("[") >= 0){
key = $.trim(key).replace("name=^[","name=^\\[");
key = $.trim(key).replace("].","\\].");
alert(key);
$("#" + formId + " select[name=" + key + "]").addClass('inputBoxError');
}
警报打印:
violationCategory[1\].subCategory]
我得到了错误:
Uncaught Error: Syntax error, unrecognized expression: #referralViolationForm select[name=violationCategory[1\].subCategory]
当我将代码更改为:
key = $.trim(key).replace("].","\].");
警报打印:
violationCategory[1].subCategory]
我得到了错误:
Uncaught Error: Syntax error, unrecognized expression: #referralViolationForm select[name=violationCategory[1].subCategory]
所以,基本上这两种方式都行不通。
任何人都可以帮助我了解如何转义方括号。
【问题讨论】:
标签: javascript jquery regex jquery-selectors