A different understanding leads me to a better solution (my apologies for jumping to a conclusion): **[Demo](http://jsfiddle.net/pVLFN/)** (function($){ $.expr[':'].classes = function(o,i,m,s){ var classes = parseInt(m[3] || 1, 10); return o.className.split(/\s+/).length >= classes; }; })(jQuery); // Elements with 2+ classes $('div:classes(2)').css('color','red'); // Elements with 3+ classes $('div:classes(3)').css('font-weight', 'bold'); // Elements with 4+ classes $('div:classes(4)').css('background-color','blue');