jQuery size() vs length

I have seen a lot of jQuery developers getting confused over the usage of the jQuery size() function and length property. Both of these return the count of elements on the page or jQuery object.

jQuery documentation however says that the length property should be preferred over the size() function as using the length property will avoid an extra method call. So it is quicker.

There’s a performance test created over here by Charles which counts the number of unordered list (<li>) on the page to demonstrate the same.

$(‘li’).size();
$(‘li’).length; // quicker

Running the sample above shows a slight performance advantage of using length over size()jquery size vs length

Note: Some times the size() returns a faster result (on IE 8). In my opinion, keeping both the size() and length property in the API is confusing. I have been using size() as it is an abstraction over the length property. Although, the length makes more sense since it is the recommended approach and is familiar especially to those who are JavaScript developers.

Will you give this article a +1 ? Thanks in advance


About The Author

Suprotim Agarwal
Suprotim Agarwal, ASP.NET Architecture MVP (Microsoft Most Valuable Professional) works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He is the Editor of a Developer Magazine called DNC Magazine. He has also written two EBooks 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook

Follow him on twitter @suprotimagarwal

1 comment:

lustos said...

Good one. Did you also know that if you use jquery instead of the ajax toolkit for collapsible panels is faster too?