有了下面的标记,我想要一个CSS选择器来选择除了每个选项div中的第一个选择菜单之外的所有菜单-其中可能有很多:
<div class="options">
<div class="opt1">
<select title="Please choose Warranty">
<option value="">Select Waranty</option>
<option value="1">1 year guarantee</option>
<option value="2">3 year guarantee</option>
</select>
</div>
<div class="opt2">
<select title="Please choose Color">
<option value="">Select Color</option>
<option value="1">Red</option>
<option value="2">Blue</option>
</select>
</div>
<div class="opt3">
<select title="Please choose Size">
<option value="">Select Size</option>
<option value="1">Small</option>
<option value="2">Big</option>
</select>
</div>
</div>
我在Prototype中使用了这个,它几乎完全支持css3选择器,所以不受浏览器支持的影响。
初始选择器如下所示:
div.options div select
我已经在nth-child
和:not(:first-child)
上尝试了几个变体,但似乎不能让它工作。
发布于 2011-02-21 20:17:33
请参阅:http://jsfiddle.net/uDvEt/1/
.options > div:not(:first-child) select { background:yellow;}
发布于 2011-02-21 20:19:36
在使用:not(:first-child)
时,您需要选择选项div
s而不是select
s,因为每个select
都是其父div
的第一个(也是唯一一个)子级
div.options > div:not(:first-child) > select
:not(:first-child)
的替代方法是使用起始偏移量为2的:nth-child()
,如下所示:
div.options > div:nth-child(n + 2) > select
另一种选择是使用通用兄弟组合器~
(受IE7+支持):
div.options > div ~ div > select
发布于 2020-04-03 05:26:35
.options > div:nth-child(n+2) select
https://stackoverflow.com/questions/5065766
复制相似问题