2011-04-14 50 views
3

我想选择一个div中的图像。我想要的图像是数字2,5,8,11等jquery nth-child选择器问题

$('.thediv img:nth-child(3n+1)').. 

没有为我工作,我错过了什么?由于

+0

您能不能告诉我们的HTML标记的样本?你可能在每个'img'周围都有标签,在这种情况下,它们都是父母的第一个孩子。 – 2011-04-14 21:58:52

回答

8

公式3n + 1不起作用,因为这些都将为中n以下值中选择的元素:

3(0) + 1 = 0 + 1 = 1 
3(1) + 1 = 3 + 1 = 4 
3(2) + 1 = 6 + 1 = 7 
3(3) + 1 = 9 + 1 = 10 
... 

显然,这些都不是第2,第5,第8,第11位。 ..选择的元素。他们每个人都处于关闭1.您需要使用公式3n + 2代替,所以这些元素会被选中:

3(0) + 2 = 0 + 2 = 2 
3(1) + 2 = 3 + 2 = 5 
3(2) + 2 = 6 + 2 = 8 
3(3) + 2 = 9 + 2 = 11 
... 

而且因为你在你的评论,每个img处于a,该:nth-child()伪称类应附a,那么你选择img

$('.thediv a:nth-child(3n+2) img') 
+0

忘了提及他们被包裹在一个标签。尝试过.thediv img:nth ...但它不起作用。 – fille 2011-04-14 23:04:45

+0

@fille:所以'div'包含一堆'a'标签?看看我编辑的答案是否可以帮助你。 – BoltClock 2011-04-14 23:07:51