Reputation: 702
Is there way to get true when match both selectors class and data attribute ?
Find matched dropdown e.g:
`<select class="type-featured" data-featured="normal">`
....
`<select class="type-featured" data-featured="classical">`
....
`<select class="type-featured" data-featured="modern">`
Find select, class equal to type-featured AND data-featured value equal to normal - here is code:
$('.style-wrapper').each( function() {
var $styles = $(this);
if ( $styles.parents().find('select').is('.type-featured, [data-featured=normal]') ) {
// do something here
}
});
I got TRUE whether select has type-featured
class OR data-featured="normal", data-featured="classical", data-featured="modern"
Its seems to be TRUE if match any one selector.
Is possible to get my desired result using .is function? May be using anonymous function like :
.is( function() {
//here some logic to result
});
Upvotes: 2
Views: 7365
Reputation: 29501
If you deploy the jQuery:
$('select.type-featured[data-featured="normal"]').each(function(){
// [... DO SOMETHING...]
});
you will run the function on only those <select>
elements which have:
class="type-featured"
data-featured="normal"
Upvotes: 7
Reputation: 31889
Instead of is(...)
try with hasClass()
- this determine whether any of the matched elements are assigned the given class.
Upvotes: 0