return this;
}
- // $("body"): Shortcut for quickly finding the body element
- if ( selector === "body" && !context && document.body ) {
- selector = document.body;
- }
-
// Handle $(DOMElement)
if ( selector.nodeType ) {
this.context = this[0] = selector;
return this;
}
+ // HANDLE: $("TAG")
+ } else if ( !context && /^\w+$/.test( selector ) ) {
+ this.selector = selector;
+ this.context = document;
+ selector = document.getElementsByTagName( selector );
+
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return (context || rootjQuery).find( selector );
return rootjQuery.ready( selector );
}
- // Make sure that old selector state is passed along
- if ( selector.selector && selector.context ) {
+ if (selector.selector !== undefined) {
this.selector = selector.selector;
this.context = selector.context;
}
},
is: function( selector ) {
- return !!selector && jQuery.multiFilter( selector, this ).length > 0;
+ return !!selector && jQuery.filter( selector, this ).length > 0;
},
// For internal use only.
return first;
},
- unique: function( array ) {
- var ret = [], done = {}, id;
-
- try {
- for ( var i = 0, length = array.length; i < length; i++ ) {
- id = jQuery.data( array[ i ] );
-
- if ( !done[ id ] ) {
- done[ id ] = true;
- ret.push( array[ i ] );
- }
- }
- } catch( e ) {
- ret = array;
- }
-
- return ret;
- },
-
grep: function( elems, callback, inv ) {
var ret = [];
}
}
+// Mutifunctional method to get and set values to a collection
+// The value/s can be optionally by executed if its a function
+function access( elems, key, value, exec, fn ) {
+ var l = elems.length;
+
+ // Setting many attributes
+ if ( typeof key === "object" ) {
+ for (var k in key) {
+ access(elems, k, key[k], exec, fn);
+ }
+ return elems;
+ }
+
+ // Setting one attribute
+ if (value !== undefined) {
+ // Optionally, function values get executed if exec is true
+ exec = exec && jQuery.isFunction(value);
+
+ for (var i = 0; i < l; i++) {
+ var elem = elems[i],
+ val = exec ? value.call(elem, i) : value;
+ fn(elem, key, val);
+ }
+ return elems;
+ }
+
+ // Getting an attribute
+ return l ? fn(elems[0], key) : null;
+}
+
function now() {
return (new Date).getTime();
}