2012-02-09 26 views
2

我有一個表像這樣:JQuery的 - 添加類,這並不包含一個類名的每個表替換錶行

<table> 
<tr><td>Row 1</td></tr> 
<tr class="special"><td>Row 1</td></tr> 
<tr><td>Row 2</td></tr> 
<tr class="special"><td>Row 2</td></tr> 
<tr><td>Row 3</td></tr> 
<tr class="special"><td>Row 3</td></tr> 
</table> 

我想要做的就是使用斑馬條紋上每隔一行不包含類特殊。我試過這個,但它不起作用:

$("table tr:not(.special):nth-child(even)").addClass("alt-row"); 

這仍然將它添加到每一個偶數行。

回答

6

嘗試以下操作:

$("table tr").not('.special').filter(':even').addClass("alt-row"); 
+1

這工作!我確信其他人工作,但這是我第一次嘗試,謝謝人們!當我也能接受時,我會接受這個答案! – CallumVass 2012-02-09 14:40:56

0

試試這個。

$('table tr').each(function(){ 
if($(this).hasClass('special') == false){$(this).addClass('alt-row');} 
}): 
+0

效率不高。在匹配集中的每個元素上執行jQuery方法(除了那些返回標量值的方法)(返回一個新的匹配集),所以你通常不必使用.each()。這是最重要的特徵之一:可鏈接性。 – 2012-02-09 14:48:36

0
$("tr").toggleClass("special"); 
$(".special").addClass(".alt-row"); 
相關問題