jquery select element by name attribute

2019-09-03 12:22发布

问题:

I have an input with the name attribute:

<input type="text" name="data[foo][bar]" />

how can I select this element?

I tried $("input[name=data[foo][bar]]") but in vein.

回答1:

Add quotes to the attribute value, otherwise you get conflicting square brackets and a parse error:

$("input[name='data[foo][bar]']")


回答2:

$("input[name='data[foo][bar]']") 


回答3:

$('input[name="data[foo][bar]"]')

http://api.jquery.com/attribute-equals-selector/ for more info



回答4:

Use

$("input[name=data\\[foo\\]\\[bar\\]]")

The documentation says:

If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, you must escape the character with two backslashes: \. For example, if you have an element with id="foo.bar", you can use the selector $("#foo\.bar").

http://api.jquery.com/category/selectors/