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

Posted

技术标签:

【中文标题】使用 jquery 按名称和数组值选择【英文标题】:select by name and array value with jquery 【发布时间】:2013-08-11 22:26:02 【问题描述】:

我认为我可以这样做:

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] 错误:语法错误,无法识别的表达式:选择 [name="sys_map[1]"

【问题讨论】:

【参考方案1】:

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

改变

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

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

这是一个小提琴:

http://jsfiddle.net/NyAkm/

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

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

【讨论】:

该死..现在我觉得很愚蠢...我看了这么多 QA 并专注于括号、反斜杠和引号.. 没有意识到空格.. 谢谢。 @SmithSmith 发生在每个人身上。此外,看起来 ᾠῗᵲᄐᶌ 是正确的,不需要斜线。 jsfiddle.net/NyAkm 希望其他人偶然发现它并有所帮助 如果你没有引号,你需要转义[

以上是关于使用 jquery 按名称和数组值选择的主要内容,如果未能解决你的问题,请参考以下文章

jQuery多维数组名称选择器

jquery 按属性名称选择每个此值附加文本

如何使用 jQuery 按名称选择元素?

按名称选择器,在我的类名 jQuery 的框中

jquery中怎么选取规定的表单名称

需要使用Jquery按元素名称获取标签名称[重复]