I would like to select a set of elements that are both of a certain input type (say, a checkbox) and have a certain class using jQuery. However, when I try the following:
Just in case any dummies like me tried the suggestions here with a button and found nothing worked, you probably want this:
$(':button.myclass')
If you want to get the inputs of that type with that class use:
$("input.myClass[type=checkbox]")
the [] selector syntax allows you to check against any of the elements attributes. Check out the spec for more details
Your selector is looking for any descendants of a checkbox element that have a class of .myClass
.
Try this instead:
$("input.myClass:checkbox")
Check it out in action.
I also tested this:
$("input:checkbox.myClass")
And it will also work properly. In my humble opinion this syntax really looks rather ugly, as most of the time I expect :
style selectors to come last. As I said, though, either one will work.
You should use the class name like this
$(document).ready(function(){
$('input.addCheck').prop('checked',true);
});
Try Using this a live demo
Try this:
$("input:checkbox").hasClass("myClass");
You have to use (for checkboxes) :checkbox
and the .name
attribute to select by class.
For example:
$("input.aclass:checkbox")
The :checkbox
selector:
Matches all input elements of type checkbox. Using this psuedo-selector like
$(':checkbox')
is equivalent to$('*:checkbox')
which is a slow selector. It's recommended to do$('input:checkbox')
.
You should read jQuery documentation to know about selectors.