代码之家  ›  专栏  ›  技术社区  ›  niggles

jquery:从id=“foo[1]”获取值?

  •  1
  • niggles  · 技术社区  · 14 年前

    我有多个元素的ID(和名称)如下:

    id="foo[1]"
    id="foo[2]"
    

    但是,我似乎无法使用以下方法恢复值:

    $('#foo[1]').val();
    

    在Jquery中访问这些多维数组的正确语法是什么。

    6 回复  |  直到 14 年前
        1
  •  2
  •   Scott Evernden    14 年前

    $('[id=foo\[1\]]') 将选择这些类型的ID

    http://jsfiddle.net/UaxC2/

        2
  •  1
  •   tster    14 年前

    我建议使用id=“foo\u 1”和id=“foo\u 2”来代替括号(这样会更好)。

    那么正确的语法是: $('#foo_1').val()

    http://www.w3schools.com/tags/att_standard_id.asp

    指定元素的唯一id。 命名规则:

    可后跟:字母(A-Za-z), 数字(0-9),连字符(“-”), 期间(“.”)值为 区分大小写

        3
  •  1
  •   michaeltwofish    14 年前

    方括号在IDs中是不合法的。 HTML data types 说:

    ID和NAME标记必须以 字母([A-Za-z]),后面可能跟有 ([0-9]),连字符(“-”),下划线 (“\”)、冒号(“:”)和句点 (".").

    另外,要选择和标识,您需要在选择器前面加上#,$('#foo')。

        4
  •  0
  •   Reigel Gallarde    14 年前
    $('#foo[1]').val(); // you missed # which denotes id
    

    另一方面, $('#foo[1]').val(); 将不起作用,因为括号用于属性,例如。 $('#foo[name]') id foo

        5
  •  0
  •   Mohamed Faramawi    14 年前

    首先,如果要按id获取项目,应在id之前添加“#”,

    $(“#foo[1]”)。

    其次,$()将返回与提供的模式匹配的所有元素,因此您将获得具有该ID的所有元素。

        6
  •  0
  •   Robert    14 年前

    foo[1] $('div[id="foo[2]"]') 为了让它工作,演示附件。我建议你只用 foo1 不过。

    http://jsfiddle.net/RSRSQ/