Не зная о всевозможных свойствах и функциях DOM, можно легко без нужды злоупотребить объектом jQuery. Например:
$('#someAnchor').click(function() {
// чепуха
alert( $(this).attr('id') );
});
p>Если объект jQuery нужен вам только для того, чтобы иметь доступ к атрибуту id тэга-привязки, это расточительно. Лучше придерживаться "обычного" JavaScript’а.
$('#someAnchor').click(function() {
alert( this.id );
});
Пожалуйста, обратите внимание на то, что есть три атрибута, к которым всегда следует получать доступ c помощью jQuery: "src," "href," и "style.". Для этих атрибутов в старых версиях IE требуется использование getAttribute.
Подтверждение:
// источник jQuery
var rspecialurl = /href|src|style/;
// ...
var special = rspecialurl.test( name );
// ...
var attr = !jQuery.support.hrefNormalized && notxml && special ?
// некоторые атрибуты в IE требуют специального вызова
elem.getAttribute( name, 2 ) :
elem.getAttribute( name );
Множественные объекты jQuery
Еще хуже процесс неоднократных запросов к DOM и создания множественных объектов jQuery.
$('#elem').hide();
$('#elem').html('bla');
$('#elem').otherStuff();
Будем надеяться, что вы уже осведомлены о том, насколько это неэффективный код. Если нет, ничего страшного; все мы учимся. Решение состоит либо в реализации последовательности, либо в "кэшировании" местоположения #elem.
// Это работает лучше
$('#elem')
.hide()
.html('bla')
.otherStuff();
// Или это, если вы по какой-то причине предпочитаете так.
var elem = $('#elem');
elem.hide();
elem.html('bla');
elem.otherStuff();