I traced the error to how jQuery 1.3.2 changed the method
Sizzle.selectors.filters.hidden

Sizzle.selectors.filters.hidden = function(elem){
        return elem.offsetWidth === 0 || elem.offsetHeight === 0;
};

which returns true even though your element is current visible, the
previous method was

Sizzle.selectors.filters.hidden = function(elem){
        return "hidden" === elem.type ||
                jQuery.css(elem, "display") === "none" ||
                jQuery.css(elem, "visibility") === "hidden";
};

If you want a quick fix for 1.3.2, paste the following code anywhere
after the normal jQuery code (this can be in the jQuery file or in a
<script> tag just below your include)

jQuery.find.selectors.filters.hidden = function(elem){
        return "hidden" === elem.type ||
                jQuery.css(elem, "display") === "none" ||
                jQuery.css(elem, "visibility") === "hidden";
};


I will see what I can do about submitting a ticket to get this fixed
for future revisiosn.

--Howard Rauscher

On Mar 16, 4:12 am, "yt.nash" <[email protected]> wrote:
> Hi everybody,
>
> I am in the same situation of you! I have upgraded to jQuery 1.3.2.
> and some hide() actions are not working fine!
>
> I have reproduced your behavior but for me is not necessary div
> includes a float element inside. I just have a div with one label and
> it is crashed.
>
> Is this "possible bug" reported in jQuery bug tracker?
>
> Thanks to all!
>
> Santi.
>
> On Mar 12, 9:16 pm, Rich Nurre <[email protected]> wrote:
>
> > Hi all,
>
> > I would like to say that I love jQuery, and really appreciate all the
> > hard work that goes into it.  The web owes you!
>
> > I recently tried the 1.3.2 release and noticed that some hide()
> > functionality seemed to change with this release.  This was occurring
> > in firefox 3 when hiding a div containing a div that has the float
> > style on it.  It starts to hide but will not hide completely, or
> > doesn't hide at all.  With the same code, including 1.3.1 instead of
> > 1.3.2, it works as expected.  It also works as expected in 1.3.2 if no
> > speed is passed or if 0 is passed as the speed ( with hide() or hide
> > (0) ).
>
> > This isn't a huge deal to me, but I figured it was worth mentioning in
> > case it exposes any bigger problems.  I created a basic example, so
> > you can see how it works.
>
> > Here is the example code:
>
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> > <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
> > <head>
> >         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> >         <title>jQuery 1.3.2 Bug?</title>
> >         <style type="text/css">
> >                 .list {
> >                         float: left;
> >                         width: 236px;
> >                         background-color: #EEE;
> >                         border: 1px solid #DDD;
> >                 }
> >         </style>
> >         <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
> >         <script type="text/javascript">
> >                 $(document).ready(function(){
> >                         $('#list1').live('mouseup', function(){
> >                                 $('#list2').show('fast');
> >                                 $('#list3').hide('fast');
> >                         });
> >                         $('#list2').live('mouseup', function(){
> >                                 $('#list1').hide(1000);
> >                                 $('#list3').show(2000);
> >                         });
> >                         $('#list3').live('mouseup', function(){
> >                                 $('#list2,#list3').hide('fast');
> >                                 
> > $('#list1').show('slow',function(){alert('test complete!');});
> >                         });
> >                 });
> >         </script>
> > </head>
> > <body>
> >         <div id="list1">
> >                 <div class="list">div 1</div>
> >         </div>
> >         <div id="list2">
> >                 <div class="list">div 2</div>
> >         </div>
> >         <div id="list3">
> >                 <div class="list">div 3</div>
> >         </div>
> > </body>
> > </html>
>
> > You will notice that if you change 1.3.2 to 1.3.1, or take out all
> > speed parameters it will work normally.  I thought this was worth
> > making a post.
>
> > Thanks again to the jQuery team and the whole jQuery community for all
> > the excellent work and contributions!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to