Skip to content

Commit

Permalink
Fix for #4011, crash when two text nodes are appended in IE.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmethvin authored and jeresig committed Dec 6, 2009
1 parent 3c89e38 commit 628e156
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 3 additions & 2 deletions src/manipulation.js
Expand Up @@ -388,7 +388,7 @@ jQuery.extend({
context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
}

var ret = [], div = context.createElement("div");
var ret = [];

jQuery.each(elems, function(i, elem){
if ( typeof elem === "number" ) {
Expand All @@ -408,7 +408,8 @@ jQuery.extend({
// Trim whitespace, otherwise indexOf won't work as expected
var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
wrap = wrapMap[ tag ] || wrapMap._default,
depth = wrap[0];
depth = wrap[0],
div = context.createElement("div");

// Go to html and back, then peel off extra wrappers
div.innerHTML = wrap[1] + elem + wrap[2];
Expand Down
4 changes: 3 additions & 1 deletion test/unit/manipulation.js
Expand Up @@ -151,7 +151,7 @@ test("unwrap()", function() {
});

var testAppend = function(valueObj) {
expect(21);
expect(22);
var defaultText = 'Try them out:'
var result = jQuery('#first').append(valueObj('<b>buga</b>'));
equals( result.text(), defaultText + 'buga', 'Check if text appending works' );
Expand Down Expand Up @@ -224,6 +224,8 @@ var testAppend = function(valueObj) {

t( "Append Select", "#appendSelect1, #appendSelect2", ["appendSelect1", "appendSelect2"] );

equals( "Two nodes", jQuery('<div />').append("Two", " nodes").text(), "Appending two text nodes (#4011)" );

// using contents will get comments regular, text, and comment nodes
var j = jQuery("#nonnodes").contents();
var d = jQuery("<div/>").appendTo("#nonnodes").append(j);
Expand Down

0 comments on commit 628e156

Please sign in to comment.