diff --git a/src/manipulation.js b/src/manipulation.js index 67c6c06f0..f87e3ca94 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -148,7 +148,10 @@ jQuery.fn.extend({ }); } - return this.pushStack( jQuery.merge( jQuery.clean( arguments ), this ), "before", this.selector ); + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( set, this ), "before", this.selector ); + } }, after: function() { @@ -158,7 +161,10 @@ jQuery.fn.extend({ }); } - return this.pushStack( jQuery.merge( this.toArray(), jQuery.clean( arguments ) ), "after", this.selector ); + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( this, set ), "after", this.selector ); + } }, // keepData is for internal use only--do not document @@ -715,7 +721,6 @@ jQuery.extend({ // Fix #11356: Clear elements from safeFragment if ( div ) { - div.innerHTML = ""; safe.removeChild( div ); elem = div = safe = null; } diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 15a95864d..d63b3ff86 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -909,13 +909,12 @@ test("before(Function)", function() { testBefore(manipulationFunctionReturningObj); }); -test("before and after w/ empty object (#10812, #12120)", function() { - expect(3); +test("before and after w/ empty object (#10812)", function() { + expect(2); - var res = jQuery("#notInTheDocument").before("(").after(")"); - equal( res.length, 2, "added two elements to the empty object" ); - equal( res.text(), "()", "correctly appended text" ); - equal( res.end().text(), "(", "stacked the previous value" ); + var res = jQuery( "#notInTheDocument" ).before( "(" ).after( ")" ); + equal( res.length, 2, "didn't choke on empty object" ); + equal( res.wrapAll("
").parent().text(), "()", "correctly appended text" ); }); test("before and after on disconnected node (#10517)", function() {