Css 选择除最后一个以外的所有类别
我有一系列的Css 选择除最后一个以外的所有类别,css,css-selectors,Css,Css Selectors,我有一系列的div,我想用enable类选择所有p标记,除了每个div中的最后一个,以便在css中应用特定样式。内容是动态生成的,可能因用户而异。 在下面的示例中,我想将此样式应用于第一个div中的前两个p,而在另一个div中则没有。我相信这很容易,但我没有找到任何解决办法 <div> <p class="enable"></p> <p class="enable"></p> <p class="enabl
div
,我想用enable
类选择所有p
标记,除了每个div中的最后一个,以便在css中应用特定样式。内容是动态生成的,可能因用户而异。在下面的示例中,我想将此样式应用于第一个div中的前两个
p
,而在另一个div中则没有。我相信这很容易,但我没有找到任何解决办法
<div>
<p class="enable"></p>
<p class="enable"></p>
<p class="enable"></p>
<p class="disable"></p>
</div>
<div>
<p class="enable"></p>
<p class="disable"></p>
<p class="disable"></p>
<p class="disable"></p>
</div>
谢谢您的帮助。如果
p
元素被限制为每个div
四个元素,您可以使用n个子元素
伪选择器
p.enable:nth-child(-n+2)
{
background: #0f0;
}
p.disable
{
background: #eee;
}
我为您提供了一个Javascript解决方案:
var divs = document.getElementsByTagName("div"), paras, i, j;
for(i = 0; i < divs.length; i++) {
paras = divs[i].getElementsByTagName("p");
for(j = 0; j < paras.length-1; j++) {
if(paras[j+1].className === "disable")
break;
// apply your custom code here
paras[j].style.background = "#FF0000";
}
}
var divs=document.getElementsByTagName(“div”),第i、j段;
对于(i=0;i
在中检查此解决方案此问题在标记为jquery或javascript@defau1t:我知道,但我看到这一点已经很晚了,我不想让我的答案白白浪费。无论如何,我认为单用css是不可能的。第二个div中的第一个p标记不应该突出显示,我认为这是符合要求的。那么你对CSS的要求太高了,将不得不求助于某种混乱的javascript。祝你好运。这不是我的问题。我只是看到了所要求的和提供的内容。CSS中没有解决方案。@Axanagor将p.disable和最后一个p.enable具有相同的样式?