[jQuery] :visible fails in MSIE8 (in a ThickBox)

[jQuery] :visible fails in MSIE8 (in a ThickBox)


Okay, so jQuery 1.3.2 defines the visible filter like this:
Sizzle.selectors.filters.visible = function(elem){
    return elem.offsetWidth > 0 || elem.offsetHeight > 0;
};
Now I've got a table of hidden (style="display: none") rows. The user
will click something that will .show() a specific row, and the whole
table -- along with a lot of other stuff -- will be displayed in a
lovely thickbox.
The problem is that MSIE 8 assigns offsetWidths and offsetHeights to
the rows; even those with "display: none" active on them. In
"compatibility mode," MSIE will set the offsetHeight to 0, but there
will still be an offsetWidth.
Firefox doesn't have this problem; Chrome doesn't have this problem.
I'm not sure if MSIE got wildly confused by moving hidden rows into a
thickbox. I know I've broken MSIE's rendering of other similar tables
on the page, but I doubt those have anything to do with jQuery.
I've gotten around it by using .addClass and .removeClass and
filtering on that new class instead of :visible, but I'd rather know
that :visible is working as intended in the long run.
Cheers,
JM (wanders off to lunch)