It's not a programming bug per say. a design flow perhaps when you come to think of modern browser capacities.
I don't really see the benefit of using jquery only for modern browsers if it does not bring me the advantage of cross browser support for older browser (ie6,7 and 8).
i know that jquery uses document.querySelectorAll when it does offer support for css3. so doing $(document.querySelectorAll('...')) does not make much sense in such browsers.
i think that if $('tr:nth-last-child(-n+2)') work in every modern browser: chrome/safari/firefox and ie9, it should also work for ie6,7 and 8. this is the entire point of a library like this.
when no browsers were offering querySelectorAll having only a subset of the css selectors handled made sense. after all, the library was the only way to get access to such syntax. now it is not true anymore and the library should take this into account instead of forcing users to drop a subset of what they can do. they should offer a way to give a cross browser support to modern functionality don't you think?
Be sure to avoid any jQuery extensions in your qSA selectors.
This is exactly what I do not want to have to think.
drop IE6/7 support in your pages if you'd like
you forget ie8. I am really disappointed to get such an advice.
Thank you for your time though even if such decision (not offering full support to css3 selectors) seems silly nowadays.
Replying to [comment:4 dmethvin]:
jQuery doesn't document it supports nth-last-child so it's not a bug. You are free to use querySelectorAll, feed that to $(), and drop IE6/7 support in your pages if you'd like. Be sure to avoid any jQuery extensions in your qSA selectors.