子元素过滤器nth-child解释

jQuery中的子元素过滤器nth-child是指:选取每个父元素下的第index个子元素或者奇偶元素(index从1算起)

这里有几点要注意:

1. index 从1开始算

2. 过滤器filter是对操作对象的过滤。

3. nth-child只对第一层子元素,不会过滤孙子辈及以下 

4. nth-child执行过程如下:

<div id="1">

    <div id="1-1">

        <div id="1-1-1"></div>

    <div id="1-1-2"></div>

    </div>

    <div id="1-2">

        <div id="1-2-1"></div>

        <div id="1-2-2"></div>

    </div>

</div>

<div id="2">

</div>

$(div:nth-child(2)),结果是1-2, 1-1-2, 1-2-2

解析:按照div选择器的结果为:

1, 1-1, 1-1-1, 1-1-2, 1-2, 1-2-1, 1-2-2, 2

然后执行nth-child(2)是对上述的每个div进行过滤。

首先看1, 有两个子元素1-1,1-2,所以1-2被选中

然后1-1, 有两个子元素1-1-1, 1-1-2, 所有1-2-2被选中

1-1-1,无子元素,pass

1-1-2, 无子元素,pass

1-2,有两个子元素1-2-1,1-2-2,所以1-2-2被选中

1-2-1, 无子元素,pass

1-2-2, 无子元素,pss

2,无子元素,pass

原文地址:https://www.cnblogs.com/xingluzhe/p/4759706.html