git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed #1763 by checking to see if .createElement() is available on the context and...
[jquery.git]
/
src
/
core.js
diff --git
a/src/core.js
b/src/core.js
index
0ebc61d
..
ce487a1
100644
(file)
--- a/
src/core.js
+++ b/
src/core.js
@@
-530,7
+530,7
@@
jQuery.extend = jQuery.fn.extend = function() {
}
// Handle case when target is a string or something (possible in deep copy)
}
// 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
target = {};
// extend jQuery itself if only one argument is passed
@@
-549,7
+549,7
@@
jQuery.extend = jQuery.fn.extend = function() {
continue;
// Recurse if we're merging object values
continue;
// Recurse if we're merging object values
- if ( deep && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
+ if ( deep && options[ name ] && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
target[ name ] = jQuery.extend( target[ name ], options[ name ] );
// Don't bring in undefined values
target[ name ] = jQuery.extend( target[ name ], options[ name ] );
// Don't bring in undefined values
@@
-591,7
+591,6
@@
jQuery.extend({
},
// Evalulates a script in a global context
},
// Evalulates a script in a global context
- // Evaluates Async. in Safari 2 :-(
globalEval: function( data ) {
data = jQuery.trim( data );
globalEval: function( data ) {
data = jQuery.trim( data );
@@
-918,6
+917,8
@@
jQuery.extend({
clean: function( elems, context ) {
var ret = [];
context = context || document;
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 )
jQuery.each(elems, function(i, elem){
if ( !elem )
@@
-1042,7
+1043,8
@@
jQuery.extend({
if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
throw "type property can't be changed";
if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
throw "type property can't be changed";
- elem.setAttribute( name, value );
+ // convert the value to a string (all browsers do this but IE) see #1070
+ elem.setAttribute( name, "" + value );
}
if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) )
}
if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) )
@@
-1064,7
+1066,7
@@
jQuery.extend({
(parseFloat( value ).toString() == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
}
(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() :
"";
}
(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() :
"";
}