我有多个元素在表单中有ID(和名称):
id="foo[1]"
id="foo[2]"
然而,我似乎无法使用以下方法获得价值:
$('#foo[1]').val();
在Jquery中访问这些多维数组的正确语法是什么。
感谢。
答案 0 :(得分:2)
$('[id=foo\[1\]]')
会选择那种ID
答案 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]"]')
。