From bfad45fe4510db78a38170752ccc9c9efe5f38b6 Mon Sep 17 00:00:00 2001 From: John Resig Date: Tue, 3 May 2011 15:02:26 -0400 Subject: [PATCH] Fix problem with appending multiple string arguments in IE 6. Fixes #9072. --- src/manipulation.js | 8 ++++---- test/unit/manipulation.js | 13 ++++++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/manipulation.js b/src/manipulation.js index 610d19b7a..e9b1ee538 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -582,7 +582,7 @@ jQuery.extend({ context = context.ownerDocument || context[0] && context[0].ownerDocument || document; } - var ret = []; + var ret = [], j; for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { if ( typeof elem === "number" ) { @@ -628,7 +628,7 @@ jQuery.extend({ div.childNodes : []; - for ( var j = tbody.length - 1; j >= 0 ; --j ) { + for ( j = tbody.length - 1; j >= 0 ; --j ) { if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { tbody[ j ].parentNode.removeChild( tbody[ j ] ); } @@ -649,8 +649,8 @@ jQuery.extend({ var len; if ( !jQuery.support.appendChecked ) { if ( elem[0] && typeof (len = elem.length) === "number" ) { - for ( i = 0; i < len; i++ ) { - findInputs( elem[i] ); + for ( j = 0; j < len; j++ ) { + findInputs( elem[j] ); } } else { findInputs( elem ); diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index b71b6962e..972cfaf91 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -227,7 +227,7 @@ test("unwrap()", function() { }); var testAppend = function(valueObj) { - expect(40); + expect(41); var defaultText = "Try them out:" var result = jQuery("#first").append(valueObj("buga")); equals( result.text(), defaultText + "buga", "Check if text appending works" ); @@ -344,6 +344,17 @@ var testAppend = function(valueObj) { equals( $radio[0].checked, true, "Reappending radios uphold which radio is checked" ); equals( $radioNot[0].checked, false, "Reappending radios uphold not being checked" ); QUnit.reset(); + + var prev = jQuery("#sap").children().length; + + jQuery("#sap").append( + "", + "", + "" + ); + + equals( jQuery("#sap").children().length, prev + 3, "Make sure that multiple arguments works." ); + QUnit.reset(); } test("append(String|Element|Array<Element>|jQuery)", function() { -- 2.39.5