Do I use .size() or .length in Javascript?

By Sam Deering

Do I use .size() or .length in Javascript?

Let’s have a closer look…

.size() simply calls .length (clearly shown this in the jQuery source code below) so we are saving a function call

// The number of elements contained in the matched element set
        size: function() {
                return this.length;

.length() has been proved to be faster than .size() (clearly shown is a jsperf test). So why is the .size() function in jQuery? My initial guess would be that they are keeping it abstract so that if a different way of calculating the .length is required in the future it may provide a backwards compatible API.

Common usage you may have seen:

//check if a DOM element is present
if ($('#id').length > 0) { ... }

So in a nutshell, I use .length until someone gives me a substantial reason not to.

  • dmathisen

    I agree – definitely use .length because, as you said, it save an unnecessary function call.

    if ($(‘#id’).length > 0) { … }
    can be simplified to:
    if ($(‘#id’).length) { … }



Because We Like You
Free Ebooks!

Grab SitePoint's top 10 web dev and design ebooks, completely free!

Get the latest in JavaScript, once a week, for free.