2012-05-24 7 views
4

В основном я создаю фильтр для своего портфолио, чтобы вы могли щелкнуть по «Веб-дизайну», например, и он будет исчезать. Разделы, которые не помечены как таковые. Проблема в том, что у меня есть некоторые дома с заголовками в «#content», которые я не хочу трогать.Исключить класс из функции

$(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; 
    }); 
}); 

Я хочу добавить что-то в эту строку #content div. каждая (функция), которая исключает вещи с классом «title». Я думаю, что это должно быть так просто, как оператор if, но я должен делать что-то неправильно, и я очень новичок в jQuery, поэтому я не уверен, что должен делать этот синтаксис. Спасибо.

ответ

6

Попробуйте использовать .not, как показано ниже,

$('#content div').not('.title').each(function() { 
+1

Ты велик, весь этот сайт чертовски велик. – prismspecs

+0

Спасибо. Это интересно, потому что это интересно и каждый день я узнаю что-то новое :) –