Permalink
Browse files

Fix #13401: replaceWith(""). Close gh-1163.

  • Loading branch information...
1 parent dc9b009 commit 6a0ee2d9ed34b81d4ad0662423bf815a3110990f @markraddatz markraddatz committed with gibson042 Feb 7, 2013
Showing with 20 additions and 9 deletions.
  1. +11 −9 src/manipulation.js
  2. +9 −0 test/unit/manipulation.js
View
20 src/manipulation.js
@@ -241,15 +241,17 @@ jQuery.fn.extend({
value = jQuery( value ).not( this ).detach();
}
- return this.domManip( [ value ], true, function( elem ) {
- var next = this.nextSibling,
- parent = this.parentNode;
-
- if ( parent ) {
- jQuery( this ).remove();
- parent.insertBefore( elem, next );
- }
- });
+ return value !== "" ?
+ this.domManip( [ value ], true, function( elem ) {
+ var next = this.nextSibling,
+ parent = this.parentNode;
+
+ if ( parent ) {
+ jQuery( this ).remove();
+ parent.insertBefore( elem, next );
+ }
+ }) :
+ this.remove();
},
detach: function( selector ) {
View
9 test/unit/manipulation.js
@@ -1219,6 +1219,15 @@ test( "replaceWith(string) for more than one element", function() {
equal(jQuery("#foo p").length, 0, "verify that all the three original element have been replaced");
});
+test( "replaceWith(\"\") (#13401)", 4, function() {
+ expect( 1 );
+
+ var div = jQuery("<div><p></p></div>");
+
+ div.children().replaceWith("");
+ equal( div.html().toLowerCase(), "", "Replacing with empty string removes element" );
+});
+
test( "replaceAll(String|Element|Array<Element>|jQuery)", function() {
expect( 10 );

0 comments on commit 6a0ee2d

Please sign in to comment.