2011-11-28 59 views
30

是否可以選擇沒有類attr的最後一個孩子? 像這樣:結合:最後一個孩子在:CSS中沒有(.class)選擇器

<tr> ... </tr> 
<tr> ... </tr> 
<tr> ... </tr> 
<tr class="table_vert_controls"> ... </tr> 

我要選擇第三行,在這種情況下。

我嘗試以下,沒有工作:

tr:not(.table_vert_controls):last-child 

在此先感謝。

+3

我認爲這是你期望的。請參閱** BoltClock **答案** [CSS3:nth-​​child(奇數)與選擇器](http://stackoverflow.com/a/5546296/500725)** –

+0

感謝提示Siva!這不完全是我需要的,但我最終使用了第n個孩子。由於該類的行總是最後一行,我使用nth-last-child選擇我需要的行。 – dcastro

+0

@dcastro:和'tr:nth-​​last-child(2)'一樣?這也起作用:) – BoltClock

回答

25

不單獨CSS選擇器,沒有,因爲:last-child特別是着眼於最後一個子,並沒有類似的:last-of-class僞類。看到我的回答this related question

自2015年年底,實現也開始慢慢4的擴展滴在選擇器:nth-child():nth-last-child(),讓你可以任意選擇作爲參數傳遞(更多的也是在更新到鏈接的答案)。然後,您就可以寫:

tr:nth-last-child(1 of :not(.table_vert_controls)) 

雖然實現最近已經開始出貨,它仍然需要至少數個月,如果不是一年爲此得到廣泛支持。與此同時,你將不得不使用別的東西,比如在有問題的類之前的額外類,或者jQuery選擇器:

$('tr:not(.table_vert_controls):last') 
+0

':最後一種類型'聽起來夠不夠,不會工作嗎? – Tomalak

+5

@Tomalak:不,因爲':last-of-type'沒有函數表示法,只看元素類型(在本例中爲'tr')。 – BoltClock

+0

謝謝。我已經刪除了它。 (你的jQuery代碼是我的答案的第一個版本,直到我注意到這不是關於jQuery的第一個地方......) – Tomalak

相關問題