使用jquery按名称和数组值进行选择

时间:2013-08-09 21:33:41

标签: jquery arrays jquery-selectors

我以为我可以这样做:

i[1] = 23; // this is built from a regex

$('select [name="sys_map\\['+i[1]+'\\]"]').css('border-color', '#FF5C5C');

或者

$('select [name=sys_map\\['+i[1]+'\\]]').css('border-color', '#FF5C5C');

选择

<select name="sys_map[23]">

引用名称显示错误:

  

[15:36:27.647]错误:语法错误,无法识别的表达式:select   [名称= “sys_map [1]”

1 个答案:

答案 0 :(得分:5)

'select'和name属性选择器之间有一个空格,因此您正在寻找与属性选择器匹配的元素,这些元素是select的后代。

更改

$('select [name="sys_map\\['+i[1]+'\\]"]')

$('select[name="sys_map['+i[1]+']"]')

这是一个小提琴:

http://jsfiddle.net/NyAkm/

注意我必须更改数组定义:

var i = [];
i[1] = 23;