This is (finally) fixed in latest SVN and will be in jQuery 1.3.3.

--
Brandon Aaron

On Fri, Jun 26, 2009 at 1:50 PM, Nekura Neko<nekura.n...@gmail.com> wrote:
>
> 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)

Reply via email to