Fixed #1264. If you read the bug there were many proposed changes. As it turned...
[jquery.git] / src / core.js
index 5a842d5..0f27425 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 = "";
 
@@ -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,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 )