Как я могу изменить эту функцию, чтобы использовать метод вместо find()
?Использование метода jQuery.contains() с атрибутами данных в этой функции вместо find()
Я использую функцию для фильтрации одежды по различным атрибутам (например, цвет, категория продукта, случаю и т. Д.), И функция в настоящее время возвращает только точные соответствия. Поскольку элементы часто имеют более одного значения для атрибута (т. Е. Более одного цвета), я бы хотел использовать вместо find()
, но я не смог определить правильный синтаксис для использования с атрибутами данных
Я отправил скрипку с простым примером функции здесь: http://jsfiddle.net/chayacooper/WZpMh/5/
$('#filterStyleOptions li a').click(function() {
var attrStyle = $(this).data('style');
$('#filterStyleOptions li').removeClass('active');
$(this).parent().addClass('active');
if (attrStyle == 'All') {
$('#content').find('li').show();
} else {
// $('#content').find('li').hide();
$('#content').find('li:not([data-style="' + attrStyle + '"])').hide();
$('#content').find('li[data-style="' + attrStyle + '"]').show();
}
return false;
});
использование jQuery filter() function –
@TamilSelvan - Я думаю, что я, вероятно, могу использовать * = здесь, но мне бы хотелось знать, как правильно использовать фильтр(), потому что это определенно пригодится :-) –