I'm trying to select this element which has square brackets in the name attribute:
<input type="text" name="inputName" value="someValue">
I've tried this (which doesn't work):
and neither does this:
EDIT: As some of you have pointed out,
$('input[inputName=someValue]') would never work. What I was trying to do was:
$('input[name=inputName][value=someValue]'). (But with
 in the name attribute).
Per the jQuery documentation, try this:
[EDIT] However, I'm not sure that's the right syntax for your selector. You probably want:
You can use backslash to quote "funny" characters in your jQuery selectors:
For attribute values, you can use quotes:
Now, I'm a little confused by your example; what exactly does your HTML look like? Where does the string "inputName" show up, in particular?
edit fixed bogosity; thanks @Dancrumb
The attribute selector syntax is
name is the attribute name and
value is the attribute value.
So if you want to select all
input elements with the attribute
name having the value
And if you want to check for two attributes (here:
If the selector is contained within a variable, the code below may be helpful:
selector_name = $this.attr('name'); //selector_name = users[first:name] escaped_selector_name = selector_name.replace(/(:|\.|\[|\])/g,'\\$1'); //escaped_selector_name = users\\[0\\]\\[first\\:name\\]
In this case we prefix all special characters with double backslash.
Just separate it with different quotes:
<input name="myName[data]" value="myValue">
var value = $('input[name="myName[data]"]').val();
©2020 All rights reserved.