Javascript名称数组输入选择器(name [sometext])

时间:2012-02-12 20:03:39

标签: javascript jquery css-selectors

如何在jQuery中正确选择这样的命名输入而不分配ID?

<input name="person[first]" type="hidden">
<input name="person[last]" type="hidden">

// Seems to be acting on multiple hidden elements instead of this named one
// This sets the value of both of those hidden elements in some cases
$("input[type=hidden][name=person[first]]").val('Test');

// So I've changed it to this. Is there a better way?
$("input[name=person[first]]").val('Test');

2 个答案:

答案 0 :(得分:35)

将属性值放在引号...

$("input[type=hidden][name='person[first]']").val();
   // ---------------------^-------------^

来自the docs for attribute-equals-selector ...

  

属性属性名称。

     

属性值。可以是不带引号的单个单词或带引号的字符串。

由于您只有一个单词,因此应该引用它。

答案 1 :(得分:3)

我很确定你应该在引号中加入任何属性选择器的值,其中包含CSS中有意义的符号。像这样:

input[type=hidden][name='person[first]']