假设我们有一个包含5个项目的列表,并且我们想要将一些特定样式应用到第一个或最后一个孩子。但是这个列表的功能需要通过jQuery应用来隐藏它的一些项目(我们称之为.hide
),它将设置目标项目上的display: none;
。选择:不包含某些特定类别的第一个孩子或最后一个孩子
的特定风格我在一开始谈话应该只适用于第一和可见的最后一个项目,所以我想要做到的,是莫名其妙地跳过它应用了.hide
类的那些在他们身上,并在同一时间的第一个或最后一个项目。
我已经试过通过组合一些:not(.hide)
和:first-child
/:last-child
伪代码来做到这一点,但它不起作用。另外,尝试使用simbling选择器对于第一个孩子来说最多可以工作,但是现在没有办法在css中选择以前的兄弟,所以这个解决方案不会覆盖最后一个孩子的问题。
这里有一个jsfidle在这里你可以更好的理解我想要做的事:
或
HTML
<div class="hide">Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
<div>Item 4</div>
<div class="hide">Item 5</div>
CSS
.hide {display: none;}
div:not(.hide):first-child,
div:not(.hide):last-child {color: red;}
请始终在问题上插入代码。如果jsfiddle失败,这个问题就失去了意义 – fcalderan 2014-09-26 11:05:27
你使用的是JavaScript吗?您没有标记任何JS – 2014-09-26 11:05:30
您可以使用'.detach'而不是'.hide' – Pete 2014-09-26 11:12:34