jquery core: simplified the code using the new jQuery.makeArray from [5314] where...
[jquery.git] / src / fx.js
index 52225c8..824616a 100644 (file)
--- a/src/fx.js
+++ b/src/fx.js
@@ -6,9 +6,15 @@ jQuery.fn.extend({
                        }, speed, callback) :
                        
                        this.filter(":hidden").each(function(){
-                               this.style.display = this.oldblock ? this.oldblock : "";
-                               if ( jQuery.css(this,"display") == "none" )
-                                       this.style.display = "block";
+                               this.style.display = this.oldblock || "";
+                               if ( jQuery.css(this,"display") == "none" ) {
+                                       var elem = jQuery("<" + this.tagName + " />").appendTo("body");
+                                       this.style.display = elem.css("display");
+                                       // handle an edge condition where css is - div { display:none; } or similar
+                                       if (this.style.display == "none")
+                                               this.style.display = "block";
+                                       elem.remove();
+                               }
                        }).end();
        },
        
@@ -20,8 +26,6 @@ jQuery.fn.extend({
                        
                        this.filter(":visible").each(function(){
                                this.oldblock = this.oldblock || jQuery.css(this,"display");
-                               if ( this.oldblock == "none" )
-                                       this.oldblock = "block";
                                this.style.display = "none";
                        }).end();
        },
@@ -138,9 +142,6 @@ jQuery.fn.extend({
                        return queue( this[0], type );
 
                return this.each(function(){
-                       if ( this.nodeType != 1)
-                               return;
-
                        if ( fn.constructor == Array )
                                queue(this, type, fn);
                        else {
@@ -180,15 +181,14 @@ jQuery.fn.extend({
 
 var queue = function( elem, type, array ) {
        if ( !elem )
-               return;
+               return undefined;
 
        type = type || "fx";
 
        var q = jQuery.data( elem, type + "queue" );
 
        if ( !q || array )
-               q = jQuery.data( elem, type + "queue", 
-                       array ? jQuery.makeArray(array) : [] );
+               q = jQuery.data( elem, type + "queue", jQuery.makeArray(array) );
 
        return q;
 };