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 #1264. If you read the bug there were many proposed changes. As it turned...
[jquery.git]
/
src
/
core.js
diff --git
a/src/core.js
b/src/core.js
index
0ebc61d
..
0f27425
100644
(file)
--- a/
src/core.js
+++ b/
src/core.js
@@
-202,7
+202,7
@@
jQuery.fn = jQuery.prototype = {
text: function( text ) {
if ( typeof text != "object" && text != null )
text: function( text ) {
if ( typeof text != "object" && text != null )
- return this.empty().append( document.createTextNode( text ) );
+ return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
var ret = "";
var ret = "";
@@
-468,7
+468,7
@@
jQuery.fn = jQuery.prototype = {
var obj = this;
if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) )
var obj = this;
if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) )
- obj = this.getElementsByTagName("tbody")[0] || this.appendChild( document.createElement("tbody") );
+ obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") );
var scripts = jQuery( [] );
var scripts = jQuery( [] );
@@
-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() :
"";
}