您的位置:首页 > 其它

nth-child(n)选择器与:eq(index)选择器

2016-01-12 16:33 435 查看
本文源于codeplayer网站:
http://www.365mini.com/page/jquery-select-index-selector.htm http://www.365mini.com/page/jquery-nth-child-selector.htm
eq(index)选择器与:nth-child(n)选择器的不同之处在于:

:eq(index)选择器只匹配一个元素,并且是所有匹配到的元素中的第index + 1个元素(索引index从0开始算起);

:nth-child(n)选择器则需要判断匹配到的元素是否是其父元素的第n个子元素或符合特定要求(序号n从1开始算起),如果是就保留,否则将被舍弃。

以下面这段HTML代码为例:
<div id="n1">
<div id="n2">
<ul id="n3">
<li id="n4">item1</li>
<li id="n5">item2</li>
<li id="n6">item3</li>
</ul>
</div>
<div id="n7">
<ul id="n8">
<li id="n9">item1</li>
<li id="n10">item2</li>
</ul>
</div>
</div>


现在,我们想要查找第2个div标签,则可以编写如下jQuery代码:
// 选择了id为n2的一个元素
$("div:eq(1)");


接着,获取匹配ul li选择器的元素中的第4个元素,则可以编写如下jQuery代码:
// 选择了id为n9的一个元素
$("ul li:eq(3)");


现在,我们想要为每个ul标签内查找它的第2个li标签,则可以编写如下jQuery代码:
// 选择了id分别为n5、n10的两个元素
$("ul li:nth-child(2)");


接着,为每个ul标签查找自然顺序为奇数的li标签,则可以编写如下jQuery代码:
// 选择了id分别为n4、n6、n9的3个元素
$("ul li:nth-child(odd)");


很明显,我们在使用nth-child(n)时,使用的限定词是“每个”标签。而且eq(index)的index从0算起,nth-child(n)的n从1算起。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: