首先这是正确的写法: <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个元素标签, 运行之后只选中了“吊带背心”,“嘻哈裤”没有被选中,求解。
我认为这个原因就像是:first与:first-child之间的区别一样,一个是前者只鞥选择一个,后者选择的是多个。eq()也只能选择一个剩下那个被省略了。。。。新手个人理解
a:nth-child(10)是指dd的第十个的子元素(看具体的是第几个孩子),a:eq(8)是指dd子元素的第9个a元素(也就是只看a元素的个数,不看具体的是第几个孩子)