我有一个输入字段,如下所示:
<input type="hidden" name="submitted[event_email]" value="">
我试图改变它的价值并尝试了这个:
jQuery('submitted[event_email]').val('test');
我想用名字来定位它,但我不确定我做错了什么。有人能帮忙吗?
答案 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"]
<小时/> 更新
没有必要转义[
和]
,因为它用引号括起来(即它是字符串)
jQuery('[name="submitted[event_email]"]').val('test');
// ^ ^