mirror of
https://github.com/jquery/jquery.git
synced 2026-02-07 02:04:55 -05:00
Optimization of array operations, closes gh-844.
This commit is contained in:
10
src/core.js
10
src/core.js
@@ -197,15 +197,9 @@ jQuery.fn = jQuery.prototype = {
|
||||
// Take an array of elements and push it onto the stack
|
||||
// (returning the new matched element set)
|
||||
pushStack: function( elems, name, selector ) {
|
||||
|
||||
// Build a new jQuery matched element set
|
||||
var ret = this.constructor();
|
||||
|
||||
if ( jQuery.isArray( elems ) ) {
|
||||
core_push.apply( ret, elems );
|
||||
|
||||
} else {
|
||||
jQuery.merge( ret, elems );
|
||||
}
|
||||
var ret = jQuery.merge( this.constructor(), elems );
|
||||
|
||||
// Add the old object onto the stack (as a reference)
|
||||
ret.prevObject = this;
|
||||
|
||||
@@ -146,10 +146,11 @@ jQuery.fn.extend({
|
||||
return this.domManip(arguments, false, function( elem ) {
|
||||
this.parentNode.insertBefore( elem, this );
|
||||
});
|
||||
} else if ( arguments.length ) {
|
||||
}
|
||||
|
||||
if ( arguments.length ) {
|
||||
var set = jQuery.clean( arguments );
|
||||
set.push.apply( set, this.toArray() );
|
||||
return this.pushStack( set, "before", arguments );
|
||||
return this.pushStack( jQuery.merge( set, this ), "before", this.selector );
|
||||
}
|
||||
},
|
||||
|
||||
@@ -158,10 +159,11 @@ jQuery.fn.extend({
|
||||
return this.domManip(arguments, false, function( elem ) {
|
||||
this.parentNode.insertBefore( elem, this.nextSibling );
|
||||
});
|
||||
} else if ( arguments.length ) {
|
||||
var set = this.pushStack( this, "after", arguments );
|
||||
set.push.apply( set, jQuery.clean(arguments) );
|
||||
return set;
|
||||
}
|
||||
|
||||
if ( arguments.length ) {
|
||||
var set = jQuery.clean( arguments );
|
||||
return this.pushStack( jQuery.merge( this, set ), "after", this.selector );
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ jQuery.each({
|
||||
contents: function( elem ) {
|
||||
return jQuery.nodeName( elem, "iframe" ) ?
|
||||
elem.contentDocument || elem.contentWindow.document :
|
||||
jQuery.makeArray( elem.childNodes );
|
||||
jQuery.merge( [], elem.childNodes );
|
||||
}
|
||||
}, function( name, fn ) {
|
||||
jQuery.fn[ name ] = function( until, selector ) {
|
||||
|
||||
Reference in New Issue
Block a user