From 729396e6cfb1a0495399609f5929fb630a49649d Mon Sep 17 00:00:00 2001 From: John Resig Date: Sun, 14 Jan 2007 19:30:40 +0000 Subject: [PATCH] Added a fix, and tests, for appending empty sets of elements/strings. --- src/jquery/coreTest.js | 11 ++++++++++- src/jquery/jquery.js | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index ccd84f7..f736d4d 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -192,7 +192,7 @@ test("wrap(String|Element)", function() { }); test("append(String|Element|Array<Element>|jQuery)", function() { - expect(5); + expect(9); var defaultText = 'Try them out:' var result = $('#first').append('buga'); ok( result.text() == defaultText + 'buga', 'Check if text appending works' ); @@ -212,6 +212,15 @@ test("append(String|Element|Array<Element>|jQuery)", function() { expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo"; $('#sap').append($("#first, #yahoo")); ok( expected == $('#sap').text(), "Check for appending of jQuery object" ); + + reset(); + $("#sap").append( 5 ); + ok( $("#sap")[0].innerHTML.match( /5$/ ), "Check for appending a number" ); + + reset(); + ok( $("#sap").append([]), "Check for appending an empty array." ); + ok( $("#sap").append(""), "Check for appending an empty string." ); + ok( $("#sap").append(document.getElementsByTagName("foo")), "Check for appending an empty nodelist." ); }); test("appendTo(String|Element|Array<Element>|jQuery)", function() { diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index b010387..83711de 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1443,6 +1443,9 @@ jQuery.extend({ arg = div.childNodes; } + + if ( arg.length === 0 ) + continue; if ( arg[0] == undefined ) r.push( arg ); -- 1.7.10.4