// 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 ) {
return num == null ?
// Return a 'clean' array
- Array.prototype.slice.call( this ) :
+ this.toArray() :
// Return just the object
- this[ num ];
+ ( num < 0 ? this.toArray.call(this, num)[0] : this[ num ] );
},
// Take an array of elements and push it onto the stack
// args is for internal usage only
each: function( object, callback, args ) {
- var name, i = 0,
+ var name, i = 0,
length = object.length,
isObj = length === undefined || jQuery.isFunction(object);