2010-12-17 66 views
0

我有以下psudeo html。我需要寫一些jquery,它隱藏任何不包含具有特定類'FacetItemsActive'的錨標記的表的行。jQuery隱藏沒有某個類的行

<table > 
    <tr> 
    <td> 
    <table> 
     <tr> 
     <td><a class='FacetItemsActive'/></td> 
     </tr> 
    </table> 
    </td> 
    </tr> 
    <tr> 
    <td> 
normal content 
    </td> 
    </tr> 
    <tr> 
    <td> 
normal content 
    </td> 
    </tr> 
</table> 

我有這個功能是接近,但不是那裏。可以任何你jquery大師幫助我嗎?

function eiaHideNonSelectedFacets(){ 
    // find the parent facet table 
    // find children tr of that table, and hide any rows that do not contain the class 'FacetItemsActive' 
    $('.FacetItemsActive').closest('table[facet]').find('tr').each(function(){ 

     if (! $(this).is('.FacetItemsActive')){ 
      $(this).hide(); 
     } 
    }); 
} 
+0

嵌套表幾乎總是一個標誌,你正在使用表佈局,這[你應該避免](http://phrogz.net/CSS/WhyTablesAreBadForLayout.html)。 – Phrogz 2010-12-17 20:25:08

+0

是的,我沒有創建HTML,我只需要使用它。 :( – BrokeMyLegBiking 2010-12-17 20:35:03

回答

5

$("tr:not(:has('.FacetItemsActive'))").hide();

Test

+0

謝謝,這個作品很棒!很優雅! – BrokeMyLegBiking 2010-12-17 23:22:43

0

這不是你如何關閉一個 「一」 的標籤。 應該使用。

+0

正斜槓,不反斜線。 – simshaun 2010-12-17 21:05:35

+0

Simshaun。Oops。Ta – Timbadu 2010-12-17 21:10:08