// Map over the $ in case of overwrite
_$ = window.$,
+ // Use the correct document accordingly with window argument (sandbox)
+ document = window.document,
+
// A central reference to the root jQuery(document)
rootjQuery,
}
// 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, $(...))
return this.length;
},
+ toArray: Array.prototype.slice,
+
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
// 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;