使用jQuery按名称定位输入字段
我有一个输入字段,如下所示:
我试图改变它的价值并尝试这个:
jQuery('submitted[event_email]').val('test');
我想用名字来定位它,但我不确定我做错了什么。 有人能帮忙吗?
你需要使用属性equals selector [name =“value”]
同样来自文档 :
要使用任何元字符(例如!“#$%&’()* +,。/:; <=>?@ [] ^`{|}〜)作为名称的文字部分,必须使用两个反斜杠进行转义:\\
所以你可以这样做:
jQuery('input[name="submitted\\[event_email\\]"]').val('test');
但实际上你不需要在这里转义[ ]
,因为它包含在引号中:
jQuery('[name="submitted[event_email]"]').val('test');
你需要逃避[
和]
使用\
但是\
也是特殊字符,所以我们也逃避它。
所以我们逃避使用\\
jQuery('[name="submitted\\[event_email\\]"]').val('test');
属性等于选择器[name =“value”]
更新
小提琴演示
没有必要转义[
和]
因为它用引号括起来(即它是字符串)
jQuery('[name="submitted[event_email]"]').val('test'); // ^ ^