У кого-либо есть место размещения, отмеченное, выбирая элементы с идентификатором и классом из CSS и JavaScript?
Это имело бы смысл, который элемент с идентификатором быстрее, чтобы выбрать, чем если бы это имело класс, даже если это был единственный элемент с тем классом.
Я должен действительно быть заинтересован?
При поиске по id
селектор остановится, как только найдет совпадение (даже если их много) - я предполагаю, что для этого используется какая-то таблица поиска ключ/значение, так как это намного быстрее, чем обход DOM. Вот почему, и вот отрывок:
Все равно гораздо лучше выбирать по ID... потому что jQuery использует родной метод (getElementByID) для этого и не нужно делать никаких собственных действий в DOM обход DOM, что намного быстрее.
Приведенные там результаты показывают >100-кратное улучшение скорости при использовании id
против class
.
При поиске class
поиск выполняется во всем DOM (или области видимости). Вот эталонный пример с использованием scope.
Вы можете сравнить селекторы в своем браузере здесь.
Я не думаю, что вам следует быть настолько обеспокоенными: выбор по id
и выбор по классу
просто не имеют одинакового значения:
id
.
Тем не менее, вот тест, который может вас заинтересовать: Селекторы скорости / валидности тестируют фреймворки.