Added ajax error messages in the unit test suite because Safari was sometimes tossing...
[jquery.git] / src / core.js
index 5a842d5..be989ea 100644 (file)
@@ -202,7 +202,7 @@ jQuery.fn = jQuery.prototype = {
 
        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 = "";
 
@@ -340,7 +340,7 @@ jQuery.fn = jQuery.prototype = {
        },
 
        add: function( selector ) {
-               return this.pushStack( jQuery.merge( 
+               return !selector ? this : this.pushStack( jQuery.merge( 
                        this.get(),
                        selector.constructor == String ? 
                                jQuery( selector ).get() :
@@ -468,7 +468,7 @@ jQuery.fn = jQuery.prototype = {
                        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( [] );
 
@@ -917,6 +917,9 @@ jQuery.extend({
        clean: function( elems, context ) {
                var ret = [];
                context = context || document;
+               // !context.createElement fails in IE with an error but returns typeof 'object'
+               if (typeof context.createElement == 'undefined') 
+                       context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
 
                jQuery.each(elems, function(i, elem){
                        if ( !elem )