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

时间:2010-08-27 04:34:53

标签: jquery

我有多个元素在表单中有ID(和名称):

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

然而,我似乎无法使用以下方法获得价值:

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

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

感谢。

6 个答案:

答案 0 :(得分:2)

$('[id=foo\[1\]]')会选择那种ID

http://jsfiddle.net/UaxC2/

答案 1 :(得分:1)

我建议使用id =“foo_1”和id =“foo_2”而不是括号(它会更好)。

然后正确的语法是:$('#foo_1').val()(你错过了“#”)

编辑:看起来您的ID无效html:

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

  

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

     

必须以字母A-Z或a-z开头   可以跟着:字母(A-Za-z),   数字(0-9),连字符(“ - ”),   下划线(“_”),冒号(“:”)和   句点(“。”)值是   区分大小写的

答案 2 :(得分:1)

方括号在ID中不合法。 HTML data types说:

  

ID和NAME令牌必须以a开头   信([A-Za-z]),可以遵循   任意数量的字母,数字   ([0-9]),连字符(“ - ”),下划线   (“_”),冒号(“:”)和句号   ( “”)。

此外,要选择和ID,您需要在#,$('#foo')前面添加选择器。

答案 3 :(得分:0)

$('#foo[1]').val(); // you missed # which denotes id

另一方面,

$('#foo[1]').val();将不起作用,因为括号用于属性,例如$('#foo[name]')将使用id foo和ann属性名称获取元素。

答案 4 :(得分:0)

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

$( '#foo的[1]')。

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

答案 5 :(得分:0)

使用foo[1]并没有真正使它成为一个多维数组,你也不能明确地使用这样的[]括号,jQuery有一个使用它的选择器,所以你需要使用{{1}让它工作,演示附加。我建议只使用$('div[id="foo[2]"]')

演示 http://jsfiddle.net/RSRSQ/