]> source.dussan.org Git - jquery.git/commitdiff
Fix problem with appending multiple string arguments in IE 6. Fixes #9072.
authorJohn Resig <jeresig@gmail.com>
Tue, 3 May 2011 19:02:26 +0000 (15:02 -0400)
committerJohn Resig <jeresig@gmail.com>
Tue, 3 May 2011 19:02:26 +0000 (15:02 -0400)
src/manipulation.js
test/unit/manipulation.js

index 610d19b7ad0db25130fa3b896ac19bfe5eb8dba7..e9b1ee538857374672d25864abe1869a4ddb1fae 100644 (file)
@@ -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 );
index b71b6962eac3ac8091df6469a6a900c48ce6ba94..972cfaf91d764b9ba2118b54724ca43681b59516 100644 (file)
@@ -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("<b>buga</b>"));
        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(
+               "<span></span>",
+               "<span></span>",
+               "<span></span>"
+       );
+
+       equals( jQuery("#sap").children().length, prev + 3, "Make sure that multiple arguments works." );
+       QUnit.reset();
 }
 
 test("append(String|Element|Array&lt;Element&gt;|jQuery)", function() {