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

This commit is contained in:
Mark Raddatz 2013-02-08 05:43:25 +08:00 committed by Richard Gibson
parent dc9b009c13
commit 6a0ee2d9ed
2 changed files with 19 additions and 8 deletions

View File

@ -241,7 +241,8 @@ jQuery.fn.extend({
value = jQuery( value ).not( this ).detach();
}
return this.domManip( [ value ], true, function( elem ) {
return value !== "" ?
this.domManip( [ value ], true, function( elem ) {
var next = this.nextSibling,
parent = this.parentNode;
@ -249,7 +250,8 @@ jQuery.fn.extend({
jQuery( this ).remove();
parent.insertBefore( elem, next );
}
});
}) :
this.remove();
},
detach: function( selector ) {

View File

@ -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 );