Reputation: 42440
I have an unordered list with multiple properties per element and I want to find all elements that have both properties.
var results = $('#mylist').find(function() {
return
$(this).attr('data-label') == 'red' &&
$(this).attr('data-size') == 1;
});
I attached an example in the link below:
Upvotes: 3
Views: 1566
Reputation: 27549
jQuery's find
doesn't take a function as a parameter. That's why this doesn't work.
What you need is to construct an appropriate CSS selector. Something like:
results = $('#mylist [data-label="red"][data-size="1"]');
Upvotes: 2
Reputation: 30002
Just use a single selector:
$('li[data-label="red"][data-size="1"]').css('color','red');
Example: http://jsfiddle.net/niklasvh/RyR87/
Upvotes: 9