2016-11-02 3 views
0

Я использую jQuery для отображения и скрытия элементов и необходимости передавать значение атрибута данных, которое будет «показывать все», то есть: [data-country*="anything"] или с атрибутом данных «страна» с равными любыми стоимость.Выберите элементы, которые имеют атрибут данных равным чему-либо

У меня есть два списка фильтров (страна и тип), которые при нажатии добавляют значение фильтра к массиву. Затем оба массива присоединяется к .show() всем элементам, которые имеют Аттрибут данных, содержащий это значение:

$("section.collaborator[data-country*='" + countryTog.join("'][data-country*='") + "'][data-collaborator_type*='" + collaborator_typeTog.join("'][data-collaborator_type*='") + "']").show('fast'); 

Есть ли значение, которое я могу добавить к моему массиву, который будет выступать в качестве шаблона, как предположил выше?

Например: если я нажимаю «Ирландию» в меню страны фильтра и «художник» в меню фильтра типа мой селектор выглядит как:

$(".collaborator[data-country*='ireland'][data-collaborator_type*='partner']").show(); 

или если добавить другую страну в смеси было бы выглядеть так:

$("section.collaborator[data-country*='ireland'][data-country*='united-kingdom'][data-collaborator_type*='partner']").show(); 

Теперь, если я мыши вверх немного, и нажмите на кнопку «все» в меню страна фильтра я в настоящее время получить:

$("section.collaborator[data-country*='*'][data-collaborator_type*='artist']").show(); 

То, что я хотел бы случиться, это для всех предметов с атрибутом data-country'[anything]' и data-type='artist' для отображения.

Я знаю, что можно запросить существование атрибута данных, но в этом случае мне нужно передать значение.

+0

Просьба уточнить вашу конкретную проблему или добавить дополнительные сведения, чтобы точно указать, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. –

+0

Я попытался прояснить пример, сделанный Закария. –

ответ

2

Если вы хотите выбрать все элементы с определенным атрибутом данных, но вам все равно, что это за значение, просто используйте [data-attribute] без знака равенства. Поэтому, если вы хотите, чтобы какая-либо страна, но только художники, используйте $('[data-country][data-type="artist"]')

Смежные вопросы