--
Brandon Aaron
On Fri, Jun 26, 2009 at 1:50 PM, Nekura Neko<nekura.neko@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)
No comments:
Post a Comment