I understand that the way to see if there are any elements on the page with the class of "foo" is this: $('.foo')
On a page with such elements, I will get a result like: jQuery(p.foo, p.foo) and if there are no matching elements, I will get jQuery() -- or at least that's how it's displayed in Firebug. Anyhow, an empty jQuery() is not false-y even when it is empty, and this code (below) will always result in the first alert being called, never the second: if ( $('.foo') ) { alert('at least one matching element'); } else { alert('nothing matches'); } Instead, I do it like this (since zero is false-y in JavaScript): if ( $('.foo').length ) { alert('at least one matching element'); } else { alert('nothing matches'); } But is that the preferred way of doing this? Thanks, Joe