I understand what you’re saying, and in general, I agree; especially if it is a matter of project coding standards or conventions in a team.
However, conventions and understandability don’t need to (and shouldn’t) stand in the way of efficiency. In this case, `this` is already a DOM element. Creating a new jQuery object is expensive and unnecessary. Two preferable alternatives:
… change the convention. Conventions should be about coding style, and stay away from specific logic. Yes, if you’re doing something, it’s nice for everyone to do it the same way. That doesn’t mean you should be doing anything you wouldn’t have any reason to do otherwise.
… comment your code. Then you know *for sure* everyone will understand what you’re doing.
/* same result as $( this ).attr( ‘id’ ); faster */
var el_id = this.id;