- filter: function(t) {
- return this.pushStack(
- jQuery.isFunction( t ) &&
- jQuery.grep(this, function(el, index){
- return t.apply(el, [index]);
- }) ||
-
- jQuery.multiFilter(t,this) );
- },
-
- not: function(t) {
- return this.pushStack(
- t.constructor == String &&
- jQuery.multiFilter(t, this, true) ||
-
- jQuery.grep(this, function(a) {
- return ( t.constructor == Array || t.jquery )
- ? jQuery.inArray( a, t ) < 0
- : a != t;
- })
- );
- },
-
- add: function(t) {
- return this.pushStack( jQuery.merge(
- this.get(),
- t.constructor == String ?
- jQuery(t).get() :
- t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ?
- t : [t] )
- );
- },
-
- is: function(expr) {
- return expr ? jQuery.multiFilter(expr,this).length > 0 : false;
- },
-
- hasClass: function(expr) {
- return this.is("." + expr);
- },
-
- val: function( val ) {
- if ( val == undefined ) {
- if ( this.length ) {
- var elem = this[0];
-
- // We need to handle select boxes special\r if ( jQuery.nodeName(elem, "select") ) {\r var index = elem.selectedIndex,
- a = [],
- options = elem.options,
- one = elem.type == "select-one";
-
- // Nothing was selected\r if ( index < 0 )
- return null;\r
-
- // Loop through all the selected options\r for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
- var option = options[i];\r if ( option.selected ) {\r // Get the specifc value for the option\r var val = jQuery.browser.msie && !option.attributes["value"].specified ? option.text : option.value;
-
- // We don't need an array for one selects\r if ( one )
- return val;
-
- // Multi-Selects return an array\r a.push(val);\r }\r }
- \r return a;
-
- // Everything else, we just grab the value\r } else
- return this[0].value.replace(/\r/g, "");
- }
- } else
- return this.attr( "value", val );
- },
-
- html: function( val ) {
- return val == undefined ?
- ( this.length ? this[0].innerHTML : null ) :
- this.empty().append( val );