Fixed #1763 by checking to see if .createElement() is available on the context and...
[jquery.git] / src / core.js
index 62e41c9..ce487a1 100644 (file)
@@ -530,7 +530,7 @@ jQuery.extend = jQuery.fn.extend = function() {
        }
 
        // Handle case when target is a string or something (possible in deep copy)
-       if ( typeof target != "object" )
+       if ( typeof target != "object" && typeof target != "function" )
                target = {};
 
        // extend jQuery itself if only one argument is passed
@@ -591,7 +591,6 @@ jQuery.extend({
        },
 
        // Evalulates a script in a global context
-       // Evaluates Async. in Safari 2 :-(
        globalEval: function( data ) {
                data = jQuery.trim( data );
 
@@ -918,6 +917,8 @@ jQuery.extend({
        clean: function( elems, context ) {
                var ret = [];
                context = context || document;
+               if (!context.createElement) 
+                       context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
 
                jQuery.each(elems, function(i, elem){
                        if ( !elem )
@@ -1065,7 +1066,7 @@ jQuery.extend({
                                                (parseFloat( value ).toString() == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
                                }
        
-                               return elem.filter ? 
+                               return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
                                        (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() :
                                        "";
                        }