$.extend deep now copies children's children, ect...
[jquery.git] / src / core.js
index aa233f8..5690df1 100644 (file)
@@ -595,7 +595,7 @@ jQuery.extend = jQuery.fn.extend = function() {
 
                                // Recurse if we're merging object values
                                if ( deep && options[ name ] && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
-                                       target[ name ] = jQuery.extend( target[ name ], options[ name ] );
+                                       target[ name ] = jQuery.extend( deep, target[ name ], options[ name ] );
 
                                // Don't bring in undefined values
                                else if ( options[ name ] != undefined )
@@ -1121,7 +1121,7 @@ jQuery.extend({
                var ret = [];
 
                // Need to use typeof to fight Safari childNodes crashes
-               if ( typeof array != "array" )
+               if ( array.constructor != Array )
                        for ( var i = 0, length = array.length; i < length; i++ )
                                ret.push( array[ i ] );
                else