Cut down on some more function calls for jQuery(...). Everything points back to the same root jQuery(document) object now. Going towards ticket #4240.
This commit is contained in:
parent
041fd5f2b5
commit
85e0945718
1 changed files with 18 additions and 21 deletions
39
src/core.js
39
src/core.js
|
@ -10,7 +10,9 @@ var
|
|||
|
||||
jQuery = window.jQuery = window.$ = function( selector, context ) {
|
||||
// The jQuery object is actually just the init constructor 'enhanced'
|
||||
return new jQuery.fn.init( selector, context );
|
||||
return selector === undefined ?
|
||||
rootjQuery :
|
||||
new jQuery.fn.init( selector, context );
|
||||
},
|
||||
|
||||
// A simple way to check for HTML strings or ID strings
|
||||
|
@ -21,15 +23,9 @@ var
|
|||
|
||||
jQuery.fn = jQuery.prototype = {
|
||||
init: function( selector, context ) {
|
||||
// Make sure that a selection was provided
|
||||
if ( selector === undefined ) {
|
||||
selector = document;
|
||||
}
|
||||
|
||||
// Handle "", null
|
||||
// Handle $("") or $(null)
|
||||
if ( !selector ) {
|
||||
this.length = 0;
|
||||
this.context = document;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -60,32 +56,30 @@ jQuery.fn = jQuery.prototype = {
|
|||
// Handle the case where IE and Opera return items
|
||||
// by name instead of ID
|
||||
if ( elem && elem.id != match[3] ) {
|
||||
return jQuery().find( selector );
|
||||
return rootjQuery.find( selector );
|
||||
}
|
||||
|
||||
// Otherwise, we inject the element directly into the jQuery object
|
||||
var ret = jQuery( elem || [] );
|
||||
var ret = jQuery( elem || null );
|
||||
ret.context = document;
|
||||
ret.selector = selector;
|
||||
return ret;
|
||||
}
|
||||
|
||||
// HANDLE: $(expr, [context])
|
||||
// (which is just equivalent to: $(content).find(expr)
|
||||
} else if ( !context || context.nodeType ) {
|
||||
this[0] = context || document;
|
||||
this.length = 1;
|
||||
this.context = context;
|
||||
return this.find( selector );
|
||||
// HANDLE: $(expr, $(...))
|
||||
} else if ( !context || context.jquery ) {
|
||||
return (context || rootjQuery).find( selector );
|
||||
|
||||
// HANDLE: $(expr, context)
|
||||
// (which is just equivalent to: $(content).find(expr)
|
||||
} else {
|
||||
return (context.jquery ? context : jQuery( context )).find( selector );
|
||||
return jQuery( context ).find( selector );
|
||||
}
|
||||
|
||||
// HANDLE: $(function)
|
||||
// Shortcut for document ready
|
||||
} else if ( jQuery.isFunction( selector ) ) {
|
||||
return jQuery( document ).ready( selector );
|
||||
return rootjQuery.ready( selector );
|
||||
}
|
||||
|
||||
// Make sure that old selector state is passed along
|
||||
|
@ -126,7 +120,7 @@ jQuery.fn = jQuery.prototype = {
|
|||
// (returning the new matched element set)
|
||||
pushStack: function( elems, name, selector ) {
|
||||
// Build a new jQuery matched element set
|
||||
var ret = jQuery( elems );
|
||||
var ret = jQuery( elems || null );
|
||||
|
||||
// Add the old object onto the stack (as a reference)
|
||||
ret.prevObject = this;
|
||||
|
@ -282,7 +276,7 @@ jQuery.fn = jQuery.prototype = {
|
|||
},
|
||||
|
||||
end: function() {
|
||||
return this.prevObject || jQuery( [] );
|
||||
return this.prevObject || jQuery(null);
|
||||
},
|
||||
|
||||
// For internal use only.
|
||||
|
@ -1164,6 +1158,9 @@ jQuery.extend({
|
|||
}
|
||||
});
|
||||
|
||||
// All jQuery objects should point back to these
|
||||
var rootjQuery = jQuery(document);
|
||||
|
||||
// Use of jQuery.browser is deprecated.
|
||||
// It's included for backwards compatibility and plugins,
|
||||
// although they should work to migrate away.
|
||||
|
|
Loading…
Reference in a new issue