我试图选择在name属性中带有方括号的该元素:

<input type="text" name="inputName[]" value="someValue">


我已经尝试过(不起作用):

$('input[inputName[]=someValue]')


,这也不是:

$('input[inputName&#91;&#93;=someValue]')


还是这个:

$('input["inputName[]"=someValue]')


编辑:正如你们中有些人指出的那样,$('input[inputName=someValue]')将永远无法工作。我想做的是:$('input[name=inputName][value=someValue]')。 (但name属性中带有[])。

#1 楼

根据jQuery文档,请尝试以下操作:

$('input[inputName\[\]=someValue]')


[EDIT]
但是,我不确定这是否是您选择器的正确语法。您可能想要:

$('input[name="inputName[]"][value="someValue"]')


评论


接得好。需要两个反斜杠的原因是,因为单个反斜杠被解释为JavaScript字符串转义字符,所以您需要两个反斜杠来指定文字反斜杠,从而为选择器提供转义字符...啊,多层次字符的乐趣转义。

–彼得
10 Mar 2 '10 at 17:04

谢谢你这只是使用正则表达式的问题。将表单数据直接提交到您喜欢的视图框架内的数组或列表时,这非常有用。这也帮助我回答了有关删除具有多个主键元素的对象的问题。 ;)

–路易斯·费琼·韦罗内西(LuizFeijãoVeronesi)
14-10-23在15:12

#2 楼

您可以使用反斜杠在jQuery选择器中引用“有趣”字符:

$('#input\[23\]')


对于属性值,可以使用引号:

$('input[name="weirdName[23]"]')


现在,您的榜样让我有些困惑;您的HTML到底是什么样的?特别是字符串“ inputName”在哪里显示?

编辑固定bogosity;谢谢@Dancrumb

评论


我无法使用$('select [name = foo \\ [bar \\]]')选择(巧合一个选择标记)