Possible Duplicate:
Combining jQuery :not and :nth-child selectors
is this possible?
Here is my code:
$("ul#filterlist li:nth-child(3n)").css("marginTop", "0");
If I wanted to apply that to the list, but only to those items VISIBLE in the list (some get hidden, I don't want them counted), how would it be achieved? I was thinking something like:
$("ul#filterlist li:nth-child(3n)").not(":hidden").css("marginTop", "0");
But it won't work. Neither will anything I try with :visible
Any ideas? Thanks.
The method you're looking for is filter()
. It will filter down a list of jQuery objects based on the given selector. Since there was no "not :hidden
" selector I could found, I used the opposite :visible
.
$("ul#filterlist li:nth-child(3n)").filter(":visible").css("marginTop", "0");
Hope this helps!
If you don't want to count the hidden elements you can try using the following code.
$("ul#filterlist li:visible").filter(function(index){
return (index+1)%3 == 0?true:false;
}).css("marginTop", "0");
see the example in jsfiddle here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With