domManip: function( args, table, callback ) {
if ( this[0] ) {
- var fragment = this[0].ownerDocument.createDocumentFragment(),
- scripts = jQuery.clean( args, this[0].ownerDocument, fragment ),
+ var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
+ scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
first = fragment.firstChild,
extra = this.length > 1 ? fragment.cloneNode(true) : fragment;
-
+
if ( first )
for ( var i = 0, l = this.length; i < l; i++ )
callback.call( root(this[i], first), i > 0 ? extra.cloneNode(true) : fragment );
if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
- if ( fragment ) {
- var found = div.getElementsByTagName("script");
-
- while ( found.length ) {
- scripts.push( found[0] );
- found[0].parentNode.removeChild( found[0] );
- }
- }
-
elem = jQuery.makeArray( div.childNodes );
}
if ( fragment ) {
for ( var i = 0; ret[i]; i++ ) {
- var node = ret[i];
- if ( jQuery.nodeName( node, "script" ) ) {
- if( node.parentNode )
- node.parentNode.removeChild( node );
+ if ( jQuery.nodeName( ret[i], "script" ) ) {
+ scripts.push( ret[i].parentNode.removeChild( ret[i] ) );
} else {
- if ( node.nodeType === 1 )
- ret = jQuery.merge( ret, node.getElementsByTagName("script"));
- fragment.appendChild( node );
+ if ( ret[i].nodeType === 1 )
+ ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
+ fragment.appendChild( ret[i] );
}
}