Index: manipulation.js
===================================================================
--- manipulation.js	(revision 6529)
+++ manipulation.js	(working copy)
@@ -12,6 +12,24 @@
 	};
 
 jQuery.fn.extend({
+
+    // updates precedent search removing nodes not context anymore
+	garbage:(function(splice){
+		return function() {
+			var length = this.length,
+				remove = []
+			;
+			while( length ){
+				if( !jQuery.contains( this.context, this[--length] ) ) {
+					remove.push( splice.call( this, length, 1 ) );
+				}
+			};
+			remove.each = this.each;
+			this.remove.call(remove, false, false);
+			return this;
+    	}
+	})( Array.prototype.splice ),
+
 	text: function( text ) {
 		if ( typeof text !== "object" && text !== undefined )
 			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
Index: selector.js
===================================================================
--- selector.js	(revision 6529)
+++ selector.js	(working copy)
@@ -975,6 +975,7 @@
 jQuery.find = Sizzle;
 jQuery.expr = Sizzle.selectors;
 jQuery.expr[":"] = jQuery.expr.filters;
+jQuery.contains = contains;
 
 Sizzle.selectors.filters.hidden = function(elem){
 	var width = elem.offsetWidth, height = elem.offsetHeight,
