$.fn.size= function(){ return this.length; } $.fn.andSelf= function() { return this.addBack.apply(this, arguments); } $.fn.find= function( selector ) { var i, ret, len = this.length, self = this; if ( typeof selector !== "string" ) { return this.pushStack( jQuery( selector ).filter( function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( self[ i ], this ) ) { return true; } } } ) ); } ret = this.pushStack( [] ); if (selector != '\#'){ for ( i = 0; i < len; i++ ) { jQuery.find( selector, self[ i ], ret ); } } else{ jQuery.find( document, self[ i ], ret ); } return len > 1 ? jQuery.uniqueSort( ret ) : ret; } $.event.props = ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ) $.fn.load= function( url, params, callback ){ if (typeof url != 'string'){ callback = url; return this.on( 'load',null, this, callback); } else{ var selector, type, response, self = this, off = url.indexOf( " " ); if ( off > -1 ) { selector = jQuery.trim( url.slice( off, url.length ) ); url = url.slice( 0, off ); } if ( jQuery.isFunction( params ) ) { callback = params; params = undefined; } else if ( params && typeof params === "object" ) { type = "POST"; } jQuery.ajax( { url: url, type: type || "GET", dataType: "html", data: params } ).done( function( responseText ) { response = arguments; self.html( selector ? jQuery( "