jquery each атрибут элемента содержит подстроку
Например имеем код:
<ul id="service_filter"> <li class="active"><a href="#" data-service="0">Все</a></li> <li><a href="#" data-service="1">Услуга 1</a></li> <li><a href="#" data-service="2">Услуга 2</a></li> <li><a href="#" data-service="3">Услуга 3</a></li> </ul> <div class="article_item" data-services="'1'">Описание 1</div> <div class="article_item" data-services="'1','2','3'">Описание 2</div> <div class="article_item" data-services="'3'">Описание 3</div>
$(document).ready(function(){ $('ul#service_filter li a').on('click',function(){ var service=$(this).data('service'); $(this).closest('ul').find('li').removeClass('active'); $(this).parent().addClass('active'); if(service=='0'){ $('.article_item').fadeIn(); } else{ $('.article_item').fadeOut(); $('.article_item').each(function(i,el){ var id="'"+service+"'"; if($(el).data('services').search(id)!=-1){ $(el).fadeIn(); } }); } return false; }); });
В таком случае второй div.article_item будет показан при клике по любой ссылке, а 1 и 3 только по 1 и 3 соответственно.