【发布时间】:2010-08-27 12:51:05
【问题描述】:
我有多个元素在表单中具有 ID(和名称):
id="foo[1]"
id="foo[2]"
但是,我似乎无法使用以下方法恢复价值:
$('#foo[1]').val();
在 Jquery 中访问这些多维数组的正确语法是什么。
谢谢。
【问题讨论】:
标签: jquery
我有多个元素在表单中具有 ID(和名称):
id="foo[1]"
id="foo[2]"
但是,我似乎无法使用以下方法恢复价值:
$('#foo[1]').val();
在 Jquery 中访问这些多维数组的正确语法是什么。
谢谢。
【问题讨论】:
标签: jquery
$('[id=foo\[1\]]') 将选择那些类型的 id
【讨论】:
我建议使用 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)、连字符 ("-")、 下划线 ("_")、冒号 (":") 和 句点 (".") 的值为 区分大小写
【讨论】:
方括号在 ID 中是不合法的。 HTML data types 说:
ID 和 NAME 令牌必须以 字母 ([A-Za-z]) 并且可以跟随 由任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_")、冒号 (":") 和句点 (".")。
另外,要选择和 ID,您需要在选择器前面加上 #, $('#foo')。
【讨论】:
$('#foo[1]').val(); // you missed # which denotes id
另一方面,$('#foo[1]').val(); 将不起作用,因为括号用于属性,例如$('#foo[name]') 将获取带有 id foo 和 ann 属性名称的元素。
【讨论】:
[ 和 ] 的 ID 无效。 ;)
首先,如果你要通过 id 获取商品,你应该在 id 之前添加“#”,
$('#foo[1]').
其次 $() 将返回与提供的模式匹配的所有元素,因此您将获得具有该 ID 的所有元素。
【讨论】:
使用foo[1]并不能真正使它成为一个多维数组,你也不能像那样显式地使用[]括号,jQuery有一个使用它的选择器,所以你需要使用$('div[id="foo[2]"]')来获取它工作,附demo。不过我建议只使用foo1。
【讨论】: