Unknown attributes, what? The reason $('#element') returns a jQuery object is it lets you chain jQuery functions, which allows more efficient code. And the scope inside of anonymous functions in jQuery is the DOM element itself, not the jQuery object:
$('#element').click(function(){
this.id; <- the DOM element
$(this).attr('id'); <- rewrap required
}
Also, same result: var x = $('#element');
x.attr('id'); <- jQuery object
x[0].id; <- DOM element
Your argument that it's "a silly object with unknown attributes" just means you don't know very much jQuery. And if you're ever curious what attributes it has you can let Developer Tools or Firebug tell you with the auto-suggest dropdown: var x = $('#element');
x.