为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这两种写法的效果是不一样的,求解。

首先这是正确的写法:
<script type="text/javascript">
    //不分男女,选中第一类衣服中第9个a元素,并改变颜色
    //这里用了nth-child 选择的他们所有父元素的第n个子元素
    $(".tag dd>a:nth-child(10)").css('color','#66CD00');
</script>
这种写法成功选择到了“吊带背心”和“嘻哈裤”两个。
然后就是另一种写法:
<script type="text/javascript">
    //不分男女,选中第一类衣服中第9个a元素,并改变颜色
    //这里用了nth-child 选择的他们所有父元素的第n个子元素
    $(".tag dd>a:eq(8)").css('color','#66CD00');
</script>
使用了这种写法之后,类tag下的标签元素dd下的子元素标签a元素的第9个元素标签,
运行之后只选中了“吊带背心”,“嘻哈裤”没有被选中,求解。


正在回答

2 回答

我认为这个原因就像是:first与:first-child之间的区别一样,一个是前者只鞥选择一个,后者选择的是多个。eq()也只能选择一个剩下那个被省略了。。。。新手个人理解

0 回复 有任何疑惑可以回复我~
#1

盛夏Zzz 提问者

你所说的first和first-child的区别是对的,但是我在课程里好像没有见到过有说明eq()只能选择一个元素。另外,同是新手,哈哈哈。
2017-05-04 回复 有任何疑惑可以回复我~
#2

慕娘1072789 回复 盛夏Zzz 提问者

eq也是只选一个哦
2017-08-09 回复 有任何疑惑可以回复我~

a:nth-child(10)是指dd的第十个的子元素(看具体的是第几个孩子),a:eq(8)是指dd子元素的第9个a元素(也就是只看a元素的个数,不看具体的是第几个孩子)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这两种写法的效果是不一样的,求解。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信