Subscribe Latest Blog Post (More)

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.

Comments

Open Source (More)

acts-as-taggable-on

A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.

subdomain-fu

A new plugin approach to attempting to solve the usage of subdomains in linking and routing in Rails projects.

seed-fu

Advanced seed data handling for Rails, combining the best practices of several methods together.

uberkit

The UberKit is a Rails plugin with a set of UI tools to ease common development.

mash

Mash is a Hash with the ability to read, write, and test for the presence of arbitrary attributes using method calls.

fetches

A Rails plugin to simplify the fetching and memoization of records for parameter-based finds.