这有一个css选择器吗?

时间:2011-10-27 20:54:02

标签: css css-selectors

我在页面上有一个或两个div,其类/类为foo。我只需要选择第二个,这意味着如果页面上只有一个不选择它。

我尝试了div.foo:not(:first)div.foo:nth-child(2),但两者似乎都不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

没有:nth-of-class()选择器,但如果两个div.foo元素共享同一个父级,则可以使用其中一个兄弟选择器,具体取决于第二个div.foo是否紧随其后第一个与否:

div.foo + div.foo /* Is immediately after */
div.foo ~ div.foo /* Is somewhere after among its siblings */

如果可能有两个以上的此类div,您可能需要使用以下规则中的其中一个来撤消上述规则中的样式:

div.foo + div.foo ~ div.foo
div.foo ~ div.foo ~ div.foo

And don't worry about browser support, this works in IE7+.

答案 1 :(得分:0)

这取决于一些事情。 你在IE上测试吗? 元素是否在同一个父元素中?

如果元素不在同一个父元素中,我不确定它们是否可以使用那些特定的选择器,并且据我所知,它们目前不在IE中工作(不包括兄弟选择器,并且不确定关于IE9 +)。