jQuery中的子元素过滤器nth-child是指:选取每一个父元素下的第index个子元素或者奇偶元素(index从1算起)对象
这里有几点要注意:filter
1. index 从1开始算di
2. 过滤器filter是对操做对象的过滤。ps
3. nth-child只对第一层子元素,不会过滤孙子辈及如下 index
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