diff options
Diffstat (limited to 'src/manipulation.js')
-rw-r--r-- | src/manipulation.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/manipulation.js b/src/manipulation.js index f2f6c7de6..3db2c3552 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -213,10 +213,16 @@ jQuery.fn.extend({ replaceWith: function( value ) { if ( this[0] && this[0].parentNode ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( !jQuery.isFunction( value ) ) { + value = jQuery( value ).detach(); + } + return this.each(function() { var next = this.nextSibling, parent = this.parentNode; - jQuery(this).detach(); + jQuery(this).remove(); if ( next ) { jQuery(next).before( value ); |