JavaScript
Article

jQuery Speed Test: $(this).attr(“id”); vs this.id

By Sam Deering

Leading on from Speed Test $(this) vs .get() vs .eq() I decided to do a quick test to compare the speed of $(this).attr(“id”); vs this.id which can be used on native attributes such as id, src, href, style etc… but not on properties such as bgcolor, data, etc…

Background

Within context this changes but generally:

$(this) is a jQuery Object which has access to all the jQuery API
this is a reference to the DOM element

Use $(this) for DOM elements that have no yet been created.

Speed

this without the jQuery wrapper is slightly faster on the whole.

$(this).attr(“id”): 42ms
this.id: 1ms

View results: https://jsfiddle.net/jquery4u/F9rP7/

Further reading:

Recommended
Sponsors
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.