С включенным тегом
$("div.foo")
или div.foo{}
вы даете браузеру руку, говоря ему не искать каждый элемент с определенным классом или идентификатором.Вместо этого в приведенных выше примерах он будет выполнять поиск div
s.
. Хотя производительность может быть незначительной для одного элемента или небольшой страницы, она может сложиться, если вы говорите о документе с тысячамитегов и нескольких разных вызовов css или jQuery.
Различение между двумя элементами
В некоторых случаях вам может это понадобиться, чтобы различать два элемента с одинаковымиучебный класс.
Для специфичности
Плюс, я думаю, что вы должны включать элементы, когда это возможно, чтобы сделать ваш CSS (и jQuery) как можно более конкретным.сведение сюрпризов к минимуму!
Лучше для общего кода / устранения неполадок / обновления
Также гораздо проще найти / изменить / отредактировать правила, когда элементвключено в правило.
РЕДАКТИРОВАТЬ
Чтобы ответить на комментарий @ stefmikhail о тесте @ YoTsumi, вот разница:
ПоискУникальный идентификатор всегда будет самым быстрым, так как на странице должен быть только один идентификатор, и движок должен искать его, и он один.Однако, как упомянул @BoltClock, в этом вопросе есть нечто большее, чем производительность.