使用jQuery按名称定位输入字段

时间:2014-03-13 14:06:52

标签: jquery

我有一个输入字段,如下所示:

<input type="hidden" name="submitted[event_email]" value="">

我试图改变它的价值并尝试了这个:

jQuery('submitted[event_email]').val('test');

我想用名字来定位它,但我不确定我做错了什么。有人能帮忙吗?

2 个答案:

答案 0 :(得分:7)

您需要使用 attribute equals selector [name =“value”]

同样来自 docs

  

使用任何元字符(例如   !“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的字面部分,必须   用两个反斜杠转义:\\

所以你可以这样做:

jQuery('input[name="submitted\\[event_email\\]"]').val('test');

但实际上你不需要在[ ]转义,因为它是用引号括起来的:

jQuery('[name="submitted[event_email]"]').val('test');

答案 1 :(得分:3)

你需要使用[来逃避]\,但\也是特殊字符,所以我们也逃避它。

所以我们使用\\

逃脱
jQuery('[name="submitted\\[event_email\\]"]').val('test');

Attribute Equals Selector [name="value"]

<小时/> 更新

Fiddle Demo

没有必要转义[],因为它用引号括起来(即它是字符串)

jQuery('[name="submitted[event_email]"]').val('test');
//            ^                      ^