Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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

(cherry picked from commit 6a0ee2d)
  • Loading branch information...
commit 03ab9b9f9061df1cf38fd6466c2241dfb2ae9cdc 1 parent 67a2e4e
@markraddatz markraddatz authored gibson042 committed
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
@@ -265,15 +265,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
@@ -1261,6 +1261,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 );
Please sign in to comment.
Something went wrong with that request. Please try again.