This was an intentional change. We changed the meaning of :visible to mean "elements that aren't visible" (this includes elements that have a height and width of 0 - and thus aren't visible to the user). This resulted in a massive speed-up.
We discussed this in the release notes: http://docs.jquery.com/Release:jQuery_1.3.2 --John On Thu, Mar 19, 2009 at 1:53 AM, howardr <[email protected]> wrote: > > 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 -~----------~----~----~----~------~----~------~--~---
