@@ -415,13 +415,20 @@ jQuery.each({
415415} , function ( name , original ) {
416416 jQuery . fn [ name ] = function ( selector ) {
417417 var ret = [ ] , insert = jQuery ( selector ) ;
418-
419- for ( var i = 0 , l = insert . length ; i < l ; i ++ ) {
420- var elems = ( i > 0 ? this . clone ( true ) : this ) . get ( ) ;
421- jQuery . fn [ original ] . apply ( jQuery ( insert [ i ] ) , elems ) ;
422- ret = ret . concat ( elems ) ;
418+
419+ if ( this . length === 1 && this [ 0 ] . parentNode && this [ 0 ] . parentNode . nodeType === 11 && insert . length === 1 ) {
420+ insert [ original ] ( this [ 0 ] ) ;
421+ return this ;
422+
423+ } else {
424+ for ( var i = 0 , l = insert . length ; i < l ; i ++ ) {
425+ var elems = ( i > 0 ? this . clone ( true ) : this ) . get ( ) ;
426+ jQuery . fn [ original ] . apply ( jQuery ( insert [ i ] ) , elems ) ;
427+ ret = ret . concat ( elems ) ;
428+ }
429+
430+ return this . pushStack ( ret , name , insert . selector ) ;
423431 }
424- return this . pushStack ( ret , name , insert . selector ) ;
425432 } ;
426433} ) ;
427434
@@ -436,13 +443,13 @@ jQuery.extend({
436443
437444 var ret = [ ] ;
438445
439- jQuery . each ( elems , function ( i , elem ) {
446+ for ( var i = 0 , elem ; ( elem = elems [ i ] ) != null ; i ++ ) {
440447 if ( typeof elem === "number" ) {
441448 elem += "" ;
442449 }
443450
444451 if ( ! elem ) {
445- return ;
452+ continue ;
446453 }
447454
448455 // Convert html string into DOM nodes
@@ -493,21 +500,21 @@ jQuery.extend({
493500 div . insertBefore ( context . createTextNode ( rleadingWhitespace . exec ( elem ) [ 0 ] ) , div . firstChild ) ;
494501 }
495502
496- elem = jQuery . makeArray ( div . childNodes ) ;
503+ elem = div . childNodes ;
497504 }
498505
499506 if ( elem . nodeType ) {
500507 ret . push ( elem ) ;
501508 } else {
502509 ret = jQuery . merge ( ret , elem ) ;
503510 }
504-
505- } ) ;
511+ }
506512
507513 if ( fragment ) {
508514 for ( var i = 0 ; ret [ i ] ; i ++ ) {
509515 if ( scripts && jQuery . nodeName ( ret [ i ] , "script" ) && ( ! ret [ i ] . type || ret [ i ] . type . toLowerCase ( ) === "text/javascript" ) ) {
510516 scripts . push ( ret [ i ] . parentNode ? ret [ i ] . parentNode . removeChild ( ret [ i ] ) : ret [ i ] ) ;
517+
511518 } else {
512519 if ( ret [ i ] . nodeType === 1 ) {
513520 ret . splice . apply ( ret , [ i + 1 , 0 ] . concat ( jQuery . makeArray ( ret [ i ] . getElementsByTagName ( "script" ) ) ) ) ;
0 commit comments