2011-10-13 38 views
0

我正在尋找類似於jQuery的eq()選擇器來根據它們的順序來定位頁面上的元素。 :nth-​​child()正是我所需要的,除了我想要的目標元素不是孩子。例如:如何在CSS中使用nth-child()而不是兒童?

<div></div> 
<div></div> 

如果我想針對上述第2格,我能在CSS使用(實際上不給它一個ID或類)?

+1

你的例子很差,因爲'div's都是隱式'body'的子元素。 – BoltClock

回答

2

您不能從CSS選擇器中的一組任意,不相關匹配中挑出第n個元素。

你只能在使用$('div:eq(1)')的jQuery中做到這一點。

+0

Ooo'nth-match' ...有趣。有一艘快艇。 –

+0

@Russell:我有一種可怕的感覺,我應該把CSS4的東西放在包裝裏,而不是像這樣在這裏和下面放一些提示:S – BoltClock

+0

@Russell:我回顧了CSS4規範,它似乎並不是':nth-因爲':nth-​​match()'的行爲與':nth-​​child()'的行爲相同,所以match()'會和jQuery的':eq()'做同樣的事情,因爲它將自身限制爲同胞元素:/再次鏈接:http://dev.w3.org/csswg/selectors4/#nth-match – BoltClock

0

如果這些是唯一相鄰的div元素,那麼您可以使用div + div。否則,將匹配從第二個開始的所有div。

在這種情況下,您還必須通過指定div + div + div規則來重置已應用的任何CSS。這將適用於從第三次開始的所有後續div。