Id против теста выбора класса

Есть ли кто-нибудь на скамейке, отмеченный выбором элементов с id и классом из CSS и javascript?

Было бы разумно, что элемент с id быстрее выбирает, чем если бы он имел класс, даже если он был единственным элементом с этим классом.

Мне действительно нужно быть обеспокоенным?

Ответ 1

При поиске id селектор остановится, как только найдет совпадение (даже если их много). Я предполагаю, что для этой цели есть какая-то таблица поиска ключей/значений, так как она намного быстрее, чем Обход DOM. Вот почему, а вот отрывок:

Это еще много лучше выбрать по ID... потому что jQuery использует родной браузер метод (getElementByID) для этого и не нужно делать какие-либо из его собственных DOM обход, который намного быстрее.

Связанные результаты показывают > улучшение скорости 100x с помощью id vs class.

При поиске class выполняется поиск всей DOM (или области). Здесь используется эталон с использованием области.

Вы можете сравнить селекторы в своем собственном браузере здесь.

Ответ 2

Я не думаю, что вы должны быть действительно заинтересованы: выбор id и выбор class просто не имеют того же значения:

  • Если вы хотите выбрать элемент, зная, как его однозначно идентифицировать, используйте его id
  • Если вы хотите выбрать один или несколько элементов, зная, что их может быть несколько, обратите внимание, что они имеют возможность однозначно идентифицировать его/их, используйте class.


Тем не менее, здесь вам может быть интересен эталон: Тесты выбора скорости/валидности для фреймворков.