Is there a way to only affect visible elements with this css?
table.grid tr.alt:nth-child(odd)
{
background:#ebeff4;
}
table.grid tr.alt:nth-child(even)
{
background:#ffffff;
}
If i use a $('select some tr:s').hide()
that hides some of the rows i get a mix of odd and even styling but all in a mixup.
I ended up using the solution Rodaine suggested in his comment, after the show/hide i do this:
$('.alt:visible:odd').css('background', '#EBEFF4');
$('.alt:visible:even').css('background', '#FFFFFF');
In my case the setting of background broke my hover, this was solved with !important
to make the hover background stick.
table.grid tr.hover:hover
{
cursor:pointer;
background:#D2E0E9 !important;
}