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

Smi*_*thy 2 arrays jquery jquery-selectors

我以为我可以这样做:

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

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

或者可能

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

选择

<select name="sys_map[23]">
Run Code Online (Sandbox Code Playgroud)

引用名称显示错误:

[15:36:27.647]错误:语法错误,无法识别的表达式:select [name ="sys_map [1]"

Jas*_*n P 5

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

更改

$('select [name="sys_map\\['+i[1]+'\\]"]')
Run Code Online (Sandbox Code Playgroud)

$('select[name="sys_map['+i[1]+']"]')
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴:

http://jsfiddle.net/NyAkm/

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

var i = [];
i[1] = 23;
Run Code Online (Sandbox Code Playgroud)