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