$.extend($.expr[':'], { hiddenPanel: function(pnl) { if (pnl == null) return false; var $pnl = $(pnl); return $pnl.css('display') == 'none' || $pnl.css('visibility') == 'hidden' || $pnl.hasClass('hidden') } }); $('#showPanelsButton').click(function() { $('.panel:hiddenPanel') .removeClass('hidden') .css({ 'display':'', 'visibility':''}); });
Creating a Custom jQuery Selector <br /><br /> <button id="showPanelsButton">Show Hidden Panels</button> <br /><br /> <div class="panel hidden"> Panel 1 </div> <div class="panel" style="visibility:hidden"> Panel 2 </div> <div class="panel" style="display:none;"> Panel 3 </div> <div class="panel"> Panel 4 </div>
.hidden { display: none; } .panel { border:1px solid black; margin-bottom:5px; }