Multi-filtering is now in place, you can do:
authorJohn Resig <jeresig@gmail.com>
Wed, 5 Jul 2006 17:12:35 +0000 (17:12 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 5 Jul 2006 17:12:35 +0000 (17:12 +0000)
$("div").filter(".this,.or,.that")
and find all elements that match any of the three expressions.

jquery/jquery.js

index b100a05..0afafc5 100644 (file)
@@ -291,7 +291,15 @@ jQuery.fn = jQuery.prototype = {
        },
        
        filter: function(t) {
-               return this.pushStack( jQuery.filter(t,this.cur).r );
+               if ( /,/.test(t) ) {
+                       var p = t.split(/\s*,\s*/);
+                       return this.pushStack( $.map(this.cur,function(a){
+                               for ( var i = 0; i < p.length; i++ )
+                                       if ( jQuery.filter(p[i],[a]).r.length )
+                                               return a;
+                       }) );
+               } else
+                       return this.pushStack( jQuery.filter(t,this.cur).r );
        },
        not: function(t) {
                return this.pushStack( t.constructor == String ?