选择第n个子元素,选择1、2、5、6、9、10等。

5

我有一组div,如下所示:

<div class="selector">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
</div>

我想给

1、2、5、6、9、10
等的背景颜色提供支持。如何使用nth选择器选择特定的
元素?这可行吗?

注:div的数量可能会增加到n。


抱歉,描述是正确的。 - Vyas Rao
4个回答

16

如果我理解你的意思正确,你想选择:

1 2 3 4 5 6 7 8 9 10 ...
+ +     + +     +  + ...

你可以使用以下方式:

.selector>div:nth-child(4n+1), .selector>div:nth-child(4n+2){
    background-color:red;
}
<div class="selector">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
</div>

感谢@SureshPonnukalai提供的JSFiddle


@SureshPonnukalai 我刚喝完咖啡,所以我脑子特别活跃 :D - Vucko
1
@VyasRao 没关系 :) 不要自责,每个人都会犯一些简单的错误 :) - Vucko

0

这个方程式将会给你一个序列。

2n+[((-1)^(n+1))-3]/2

显然,它被称为表达式而不是方程。我知道这很迂腐。 - PiggyMacPigPig

-1
你可以使用 nth-child 概念来完成这个。
div.selector:nth-child(2) {
    background: #ff0000;
} 

抱歉,这不符合要求。 - Hello Universe

-1

我认为使用nth-child不好,因为它不兼容IE8。最好使用+号li + li或为每个div添加类。


这是一条注释,不应该被用作答案。 - Hello Universe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接