Quick Tip: Railsy Array Checks in jQuery
I love the any? and empty? convenience methods that Rails and Ruby provide, they make conditional statements much easier to read. I also really dislike the default method of checking this behavior in jQuery:
if ($('some.element').length > 0) {
// ...do something
}
Well, luckily jQuery is ridiculously easy to extend, so why not just mix that functionality in with a couple of quick shot plugin methods? Just add this javascript sometime after you include jQuery:
jQuery.fn.any = function() {
return (this.length > 0);
}
jQuery.fn.none = function() {
return (this.length == 0);
}
That’s all you have to do! Now we can make the same call as before, but it looks a little cleaner:
if ($('some.element').any()) {
// do something more readably...
}
UPDATE: Apologies, I added in the empty bit as a last-second update to the post and forgot to check and realize that empty() is part of jQuery core. Updated the name to none instead.