// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) )
return new jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector );
-
- return this.setArray(
- // HANDLE: $(array)
- selector.constructor == Array && selector ||
-
- // HANDLE: $(arraylike)
- // Watch for when an array-like object, contains DOM nodes, is passed in as the selector
- (selector.jquery || selector.length && selector != window && !selector.nodeType && selector[0] != undefined && selector[0].nodeType) && jQuery.makeArray( selector ) ||
-
- // HANDLE: $(*)
- [ selector ] );
+
+ return this.setArray(jQuery.makeArray(selector));
},
// The current version of jQuery being used
makeArray: function( array ) {
var ret = [];
- // Need to use typeof to fight Safari childNodes crashes
- if ( array.constructor != Array )
- for ( var i = 0, length = array.length; i < length; i++ )
- ret.push( array[ i ] );
- else
- ret = array.slice( 0 );
+ if( array != undefined )
+ //strings and functions also have 'length'
+ if( array.length != undefined && !array.split && !array.call )
+ for( var i = array.length; i; )
+ ret[--i] = array[i];
+ else
+ ret[0] = array;
return ret;
},