JavaScript предоставляет несколько встроенных методов для выбора элементов DOM, каждый из которых отличается скоростью, гибкостью и типом возвращаемого значения.
getElementById("id") — выбирает одиночный элемент по его ID; самый быстрый вариант благодаря прямому поискуgetElementsByClassName("class") — возвращает живую HTMLCollection элементов, соответствующих заданному классуgetElementsByTagName("tag") — возвращает живую HTMLCollection элементов, соответствующих заданному имени тегаquerySelector("selector") — возвращает первый элемент, соответствующий любому корректному CSS-селекторуquerySelectorAll("selector") — возвращает статический NodeList всех элементов, соответствующих CSS-селекторуТип возвращаемого значения имеет значение:
getElementById и querySelector возвращают одиночный элемент (или null, если не найден)getElementsByClassName и getElementsByTagName возвращают живую HTMLCollection, то есть она автоматически обновляется при изменении DOMquerySelectorAll возвращает статический NodeList, который не отражает последующие изменения DOMПроизводительность:
getElementById — самый быстрый метод для поиска одиночного элементаquerySelector и querySelectorAll — медленнее, но более гибкие: принимают любой CSS-селектор, например:querySelector(".card > h2:first-child")
getElementById при выборе уникального элемента — это быстрее всегоquerySelector / querySelectorAll когда нужна сложная выборка по CSSquerySelectorAll вместо getElementsByClassName когда нужен стабильный, не обновляющийся список для безопасной итерацииgetElementById() работает быстрее, чем querySelector(), потому что он выполняет прямой поиск, а не парсит CSS-селекторы.
Новый — ещё не проверен сообществом
Вы