来大神解释下nth-child的原理还有lt;gt;eq的原理
$("#menu div.tag dd a:nth-child(10)")
括号中的空格是后代选择器,所以选择器$()选择的是:id为#menu标签的后代 -> div标签的后代 -> tag类标签的后代 -> dd标签的后代 -> a标签的第10个元素。
lt(index)(less than首字母)例子:$(".aaron:eq(2)") //选取第2个(仅选取一个)
gt(index)(greater than)例子:$(".aaron:gt(3)") // 选取第3个后的所有
eq(index)(equal)例子:$(".aaron:lt(2)") //选取第2个前所有
为什么不能用a:eq(8):
目标是男女装各第一类下的第9个a标签,就是2个a标签,eq()方式只能选取1个。
:nth-child()方式可以选取多个,所以用这个方式。
emmmm。。。你应该去复习一下前面的内容。。。都有介绍的很详细
这句代码可以这样理解:(个人意见,供参考):
先找到a元素的父元素,也就是dd;然后再定位到第九个a元素,
//而dd下的子元素不止a,第一个就是p元素,那么第九个a元素,
//自然要索引为dd下的第十个子元素,
//nth-child(index)是从1开始,eq(index)从0开始
至于后面几个属性方法,你可以复习前几节内容;这些知识点要经常回顾下,不然很容易学后面忘前面
eq()只能匹配一个元素,自己测试看效果就知道了