I am using JQuery’s nth-child selector to alter the margin on every 3rd div with a class of photo_post_thumbnail, but it alters it every 2nd div?
Can anyone spot what I am doing wrong?
Site
http://www.clients.eirestudio.net/hatstand/wordpress/photos/
HTML markup
<div class="postbox photo_post_thumbnail">
blah blah
</div>
<div class="postbox photo_post_thumbnail">
blah blah
</div>
<div class="postbox photo_post_thumbnail">
blah blah
</div>
JQuery Code
$('.photo_post_thumbnail:nth-child(3n)').css('margin-right', '0px');
It’s doing this because you have a
<h1>before those divs, making that div the 4th child not the third 🙂The
nth-childselector is a bit confusing at first because it’s thenth-childof the parent, not just thenth-childmatching that selector of the parent, the selector has no bearing the position for this selector.To get the div you want, do
3n+1like this: