2012-09-15 92 views
0

我有這樣的一個表:使用jQuery來隱藏所有但兩行(TR)在表

<table class="tableclass"> 
    <tbody> 
    <tr> 
     <th>..</th> 
     <th>..</th> 
    </tr> 
    <tr class="odd"> 
     <td>..<</td> 
     <td>..<</td> 
    </tr> 
    <tr class="even"> 
     <td>..<</td> 
     <td>..<</td> 
    </tr> 
    <tr class="odd current"> 
     <td>..<</td> 
     <td>..<</td> 
    </tr> 
    </tbody> 
</table> 

有許多TR有奇數或偶數類,並且它們可以是前或TR後有當前課程。

我想隱藏所有,但下面兩行:

  1. 有<日>

  2. 行(TR),有 「當前」 類

  3. 行(TR)

換句話說,我想表格變成

<table class="tableclass"> 
    <tbody> 
    <tr> 
     <th>..</th> 
     <th>..</th> 
    </tr> 
    <tr class="odd current"> 
     <td>..<</td> 
     <td>..<</td> 
    </tr> 
    </tbody> 
</table> 

我嘗試使用

$("table.tableclass tr:not(.current)").hide(); 

但是它隱藏有個裏面也TR。

是否有AND運算符?像

$("table.tableclass tr:not(.current) AND tr:not(WITH NO CLASS)").hide(); 

回答

1

你需要你的範圍選擇隱藏僅奇數/偶數類,但不是最新的。所以你幾乎在那裏。

$("table.tableclass tr.odd:not(.current), table.tableclass tr.even:not(.current)").hide() 
+0

非常感謝。奇蹟般有效。 –

+0

沒有問題,不要忘記接受答案,如果它的權利:) – Mark

+0

你打賭。再接受一分鐘作爲答案。 –

0

嘗試的東西像這樣

$("table .odd,.even").hide() 

或單獨可以隱藏像

$(".odd").hide(); 
$(".even").hide(); 
+0

它會隱藏.odd,.even類行但剩下的.current,沒有類行 – Gautam3164

0

爲什麼不改變<tr><th></th></tr><thead><th></th></thead>和移動這個<tbody></tbody>以上?無論如何,它應該在那裏。