diff options
-rw-r--r-- | src/manipulation.js | 9 | ||||
-rw-r--r-- | test/unit/manipulation.js | 7 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/manipulation.js b/src/manipulation.js index 3db2c3552..742ec2543 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -77,7 +77,14 @@ jQuery.fn.extend({ wrapInner: function( html ) { return this.each(function() { - jQuery( this ).contents().wrapAll( html ); + var self = jQuery( this ), contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } }); }, diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 3eef1221c..a0239a405 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -145,7 +145,7 @@ test("wrapAll(String|Element)", function() { // }) var testWrapInner = function(val) { - expect(6); + expect(8); var num = jQuery("#first").children().length; var result = jQuery('#first').wrapInner('<div class="red"><div id="tmp"></div></div>'); equals( jQuery("#first").children().length, 1, "Only one child" ); @@ -158,6 +158,11 @@ var testWrapInner = function(val) { equals( jQuery("#first").children().length, 1, "Only one child" ); ok( jQuery("#first").children().is("#empty"), "Verify Right Element" ); equals( jQuery("#first").children().children().length, num, "Verify Elements Intact" ); + + var div = jQuery("<div/>"); + div.wrapInner("<span></span>"); + equals(div.children().length, 1, "The contents were wrapped."); + equals(div.children()[0].nodeName.toLowerCase(), "span", "A span was inserted."); } test("wrapInner(String|Element)", function() { |