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:
parent
cb4880ee83
commit
3e9ef6f5c0
2 changed files with 20 additions and 4 deletions
|
@ -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 );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue