nth-child(n) 选择器详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nth-child(n) 选择器详解相关的知识,希望对你有一定的参考价值。

定义和用法

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

n 可以是数字、关键词或公式。

 

例如: <div id="n1">

    <div id="n2">
        <ul id="n3">
            <li id="n4" class="c">item1</li>
            <li id="n5">item2</li>
            <li id="n6" class="c">item3</li>
        </ul>
    </div>
    <div id="n7">
        <ul id="n8">
            <li id="n9">item1</li>
            <li id="n10">item2</li>
        </ul>
    </div>
</div>

现在,我们想要为每个ul标签内查找它的第2个li标签
document.select("ul li:nth-child(2)");

接着,为每个ul标签查找自然顺序为奇数的li标签

// 选择了id分别为n4、n6、n9的3个元素
document.select("ul li:nth-child(odd)");

为每个ul父标签查找自然顺序为3n的li标签

// 选择了id为n6的一个元素
// 虽然这里用的#n1进行限定,实际上jQuery先是通过查找所有匹配#n1 li的元素,然后再看这些元素是不是父元素的第3n个元素,如果是就保留,否则就舍弃掉。
document.select("#n1 li:nth-child(3n)");

查找所有包含类名c的li标签,并且它们必须是父元素的偶数顺序的子元素,我们可以编写如下jQuery代码:

// 没有选择任何元素,返回空的jQuery对象
// 虽然匹配li.c的有n4、n6两个元素,但它们都不是父元素的偶数顺序的子元素,因此无法匹配
$("li.c:nth-child(even)");


















以上是关于nth-child(n) 选择器详解的主要内容,如果未能解决你的问题,请参考以下文章

nth-child(n) 选择器

Selenium CSS 选择器,用于第 n 次出现 td span:nth-child(2)

H5-伪类选择器-伪元素选择器

伪类选择器 E:nth-child(n)E:nth-of-type(n)

虎记:强大的nth-child(n)伪类选择器玩法

说明E F:nth-child(n)和E F:nth-of-type(n)两种选择器