 i have been using jquery to do table striping and up until today i have not had any problems with it i had just been using the even and odd selectors to add classes to each table row here is the code that i have been using $ document ready function $ table striped tbody tr odd addclass odd $ table striped tbody tr even addclass even seems easy enough then i just styled the odd table rows like so table striped tr odd td background color f0f0f4 one thing to note is that the even and odd selectors are zero indexed so the first table row will have a class of even and not odd here is an example showing this simple striping multiple striped instances the situation that i had today had two different tables that were being striped so based on the code you would think that there wouldnt be a problem here is the example with two striped tables on the same page weird so it looks like the first table row in the second striped table has a class of even instead of odd i thought that the client may not like that because the two tables were not consistent so i tried to think of another way to do the striping the nth child so based on the documentation it looks like the nth child selector would be the solution i just modified my javascript like so $ document ready function $ table striped tbody tr nth child odd addclass odd $ table striped tbody tr nth child even addclass even as a note the nth child selector is not zero indexed so the first table row will have a class of odd instead of even here is the fixed example conclusion from what i can tell this does not appear to be a browser problem but a bug in jquery i have checked this in firefox safari ie6 and ie7 