- pushStack: function(a) {
- if ( !this.stack ) this.stack = [];
- this.stack.unshift( this.cur );
- if ( a ) this.cur = a;
+ pushStack: function(a,args) {
+ var fn = args[args.length-1];
+
+ if ( !fn || fn.constructor != Function ) {
+ if ( !this.stack ) this.stack = [];
+ this.stack.push( this.get() );
+ this.get( a );
+ } else {
+ var old = this.get();
+ this.get( a );
+ if ( fn.constructor == Function )
+ return this.each( fn );
+ this.get( old );
+ }
+