首先显示所有元素,然后隐藏除一个类之外的所有元素

时间:2014-03-25 07:39:18

标签: jquery

我有不同的类,我用它来过滤表的内容。如何编辑此代码,因此在单击按钮(#aipa)后首先查看所有<tr>元素,然后在显示(过滤)后只显示带有类的行。现在,当我过滤例如AIPA元素时,我无法过滤表格中的任何其他元素。

$("#aipa").click(function(){
        $('tr:not(:first)').not(".AIPA").slideToggle('fast');
});

2 个答案:

答案 0 :(得分:0)

试试这个,

$(document).ready(function(){
   $("#aipa").click(function(){
      $('tr').hide(); // hiding all trs
      $("tr.AIPA").fadeIn('fast'); // showing the tr havin AIPA class
   });
});

Live Demo

如果您要隐藏除first row以外的所有行和有.AIPA class的行,请尝试使用

$(document).ready(function(){
   $("#aipa").click(function(){
       $("tr:not(:first, .AIPA)").fadeOut(1000);
   });
});

Updated demo

答案 1 :(得分:0)

你也可以像这样组合它们:

$('tr:not(":first, .AIPA")').slideToggle('fast');

或者这可能会对您有所帮助:

$('tr:not(:first)').add(':not(".AIPA")').slideToggle('fast');