mirror of
https://github.com/jquery/jquery.git
synced 2026-02-13 05:45:28 -05:00
Final pass at fixing #5785. Need to make sure that inner-nodes are detached before the remove() occurs (and it should still occur, the nodes are being obliterated.
This commit is contained in:
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user