2011-09-01 84 views
3

我想從表格條帶中排除嵌套表格(使每一行都是不同的bg顏色)。這裏是我的代碼進行條帶化表:使用jQuery從表格條帶中排除嵌套表格

$(".stripeTable tbody tr:odd").addClass("stripe"); 

我的問題是,如何阻止我從接到類「條紋」嵌套表的奇數行?

這是從瀏覽器生成的代碼,我想從嵌套表中刪除class =「stripe」。

<table> 
     <tr> 
     <td>My Table Cell </td> 
     </tr> 
     <tr class="stripe"> 
     <td> 
      <table> 
      <tr> 
       <td>My nested table cell</td> 
      </tr> 
      <tr class="stripe"> 
       <td>my nested table cell (remove the stripe!)</td> 
      </tr> 
      </table> 
     </td> 
     </tr> 
    </table> 
+0

'stripeTable'類在哪裏? – BoltClock

回答

7

如果只有頂級表具有stripeTable類,只需添加一些孩子選擇>

$(".stripeTable > tbody > tr:odd").addClass("stripe"); 

如果嵌套表有stripeTable類爲好,你可能需要錨.stripeTable到另一個子選擇器的父元素:

$(".parent > .stripeTable > tbody > tr:odd").addClass("stripe"); 
+0

太棒了,謝謝。我在tbody之前有一個「>」,但我現在看到它在tr之前也需要它。 – hbowman

+0

是的,因爲你也嵌套'tr's,所以他們會選擇其他的。 – BoltClock