Javascript 过滤值第二次单击“显示所有元素”

Javascript 过滤值第二次单击“显示所有元素”,javascript,jquery,html,Javascript,Jquery,Html,此单击按钮仅显示基于过滤器值的元素。我一直在寻找一种方法,在第二次点击时再次显示所有元素 $('.filter按钮组')。在('click','a',function()上{ var filterValue=$(this.attr('data-filter'); $grid.com({ 过滤器:过滤器值 }); }); 实验室 展示实验室和所有 Showonlyll prova 炫耀 我的方法是在过滤网格时,将活动的类设置为按钮,以便下次我可以知道网格的状态,以便决定如何过滤它 $('.fi

此单击按钮仅显示基于过滤器值的元素。我一直在寻找一种方法,在第二次点击时再次显示所有元素

$('.filter按钮组')。在('click','a',function()上{
var filterValue=$(this.attr('data-filter');
$grid.com({
过滤器:过滤器值
});
});

实验室
展示实验室和所有
Showonlyll prova
炫耀

我的方法是在过滤网格时,将
活动的
类设置为按钮,以便下次我可以知道网格的状态,以便决定如何过滤它

$('.filter-button-group').on('click', 'a', function() {
  if($(this).hasClass('active')) {
    $grid.isotope({
      filter: '*'
    });
  } else {
    $grid.isotope({
      filter: $(this).attr('data-filter')
    });
  }
  $(this).toggleClass('active');
});
“*”
允许您显示所有项目

较短的语法可以是:

$('.filter-button-group').on('click', 'a', function() {
  $grid.isotope({
    filter: $(this).hasClass('active') ? '*' : $(this).attr('data-filter')
  });
  $(this).toggleClass('active');
});

希望有帮助

你能详细说明你的问题吗?首先,
按钮在哪里?第二,关于单击事件处理程序,类为
过滤器按钮组的元素在哪里?它已经显示了所有元素的值我希望在第一次单击时,您只看到ShowLaboratorian和all(并且它已经工作),而在第二次单击时,它们返回所有可见的值(因此也是ShowOnlyAll)你上面的评论更让人困惑谢谢,最长的代码也很完美,非常感谢!