Basically I'm making a filter for my portfolio so that you can click on "Web Design," for example, and it will fadeOut the divs that aren't marked as such. The problem is I have some title divs houses within "#content" that I don't want to touch.
$(document).ready(function() {
$('#filternav a').click(function() {
$('#filternav .current').removeClass('current');
$(this).parent().addClass('current');
var filterVal = $(this).text().toLowerCase().replace(' ','-');
if(filterVal == 'view-all') {
$('#content div.hidden').fadeIn('slow').removeClass('hidden');
} else {
$('#content div').each(function() {
if(!$(this).hasClass(filterVal)) {
$(this).fadeOut('normal').addClass('hidden');
} else {
$(this).fadeIn('slow').removeClass('hidden');
}
});
}
return false;
});
});
I want to add something do that line #content div . each(function) that will exclude things with the class "title." I think it should be as simple as an if statement, but I must be doing something wrong, and I'm very new to jQuery so I'm not sure what this syntax should be. Thanks.
Try using .not
like below,
$('#content div').not('.title').each(function() {
You can exclude it immediately with the :not selector:
$('#content div:not(.title)')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With