Attempted to fix #6227, not entirely sure if it's a problem as I'm having a hard time reproducing it. Regardless, the change is harmless and potentially even speeds up appendTo, etc. slightly.

This commit is contained in:
jeresig 2010-03-05 00:07:57 -05:00
parent 9584e908a2
commit 2c08004f6d
2 changed files with 10 additions and 2 deletions

View file

@ -442,7 +442,7 @@ jQuery.each({
} else { } else {
for ( var i = 0, l = insert.length; i < l; i++ ) { for ( var i = 0, l = insert.length; i < l; i++ ) {
var elems = (i > 0 ? this.clone(true) : this).get(); var elems = (i > 0 ? this.clone(true) : this).get();
jQuery.fn[ original ].apply( jQuery(insert[i]), elems ); jQuery.fn[ original ].call( jQuery(insert[i]), elems );
ret = ret.concat( elems ); ret = ret.concat( elems );
} }

View file

@ -376,13 +376,21 @@ test("append(Function) with incoming value", function() {
}); });
test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() { test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
expect(14); expect(16);
var defaultText = 'Try them out:' var defaultText = 'Try them out:'
jQuery('<b>buga</b>').appendTo('#first'); jQuery('<b>buga</b>').appendTo('#first');
equals( jQuery("#first").text(), defaultText + 'buga', 'Check if text appending works' ); equals( jQuery("#first").text(), defaultText + 'buga', 'Check if text appending works' );
equals( jQuery('<option value="appendTest">Append Test</option>').appendTo('#select3').parent().find('option:last-child').attr('value'), 'appendTest', 'Appending html options to select element'); equals( jQuery('<option value="appendTest">Append Test</option>').appendTo('#select3').parent().find('option:last-child').attr('value'), 'appendTest', 'Appending html options to select element');
reset();
var l = jQuery("#first").children().length + 3;
jQuery("body").map(function(){
return jQuery("<strong></strong><b></b><b></b>").get();
}).appendTo("p");
equals( jQuery("#first").children().length, l, "Make sure the elements were inserted." );
equals( jQuery("#first").children().last()[0].nodeName.toLowerCase(), "b", "Verify the last element." );
reset(); reset();
var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:";
jQuery(document.getElementById('first')).appendTo('#sap'); jQuery(document.getElementById('first')).appendTo('#sap');