【问题标题】:select by name and array value with jquery使用 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]"

【问题讨论】:

    标签: jquery arrays jquery-selectors


    【解决方案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
    • 希望其他人偶然发现它并有所帮助
    • 如果你没有引号,你需要转义[
    猜你喜欢
    • 2013-11-29
    • 2015-12-11
    • 2012-09-07
    • 2010-11-09
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多