-// Will speed up references to window, and allows munging its name.
-var window = this,
-
- // Will speed up references to undefined, and allows munging its name.
- undefined,
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor 'enhanced'
+ return arguments.length === 0 ?
+ rootjQuery :
+ new jQuery.fn.init( selector, context );
+ },
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
- // Define a local copy of jQuery
- jQuery,
-
// A central reference to the root jQuery(document)
rootjQuery,
- jQuery = window.jQuery = window.$ = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return selector === undefined ?
- rootjQuery :
- new jQuery.fn.init( selector, context );
- },
-
// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
// Save a reference to the core toString method
toString = Object.prototype.toString;
-// Define the main jQuery method
-jQuery = window.jQuery = window.$ = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context );
-};
+// Expose jQuery to the global object
+window.jQuery = window.$ = jQuery;
jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
}
// Otherwise, we inject the element directly into the jQuery object
- ret = jQuery( elem || null );
- ret.context = document;
- ret.selector = selector;
- return ret;
+ this.length = elem ? 1 : 0;
+ if ( elem ) {
+ this[0] = elem;
+ }
+ this.context = document;
+ this.selector = selector;
+ return this;
}
// HANDLE: $(expr, $(...))
// args is for internal usage only
each: function( object, callback, args ) {
- var name, i = 0, length = object.length;
+ var name, i = 0,
+ length = object.length,
+ isObj = length === undefined || jQuery.isFunction(object);
if ( args ) {
- if ( length === undefined ) {
+ if ( isObj ) {
for ( name in object ) {
if ( callback.apply( object[ name ], args ) === false ) {
break;
// A special, fast, case for the most common use of each
} else {
- if ( length === undefined ) {
+ if ( isObj ) {
for ( name in object ) {
if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
break;