В каких случаях лучше использовать querySelector, а в каких getElement(s)By?
и началось перечисление всех случаев…
Встречал когда-то статю,= querySelector работает быстрей…
пользуй querySelector и не заморачивайся…
Ха - экономия на спичках тут пишут обратное
Практика показывает, что в 95% ситуаций достаточно
querySelector/querySelectorAll
. Хотя более специализированные методыgetElement*
работают чуть быстрее, но разница в миллисекунду-другую редко играет роль.
я от одного developer-a слышал, что getElementsBy сейчас не используют
Да бросте - тест концептуально с “изюминкой”
Вы хотите сказать, что у Вас на странице может быть 1M одинаковых ID “#foo”
тогда, что то не так…
И да - этот прикол давно известен, что Id ищет дольше- по этой причине class пользуют.
Более правильной и общепринятой практикой является доступ к элементу вызовом document.getElementById("идентификатор")
😜🤣😭
Вот начало из “свеженького”,
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';
ReactDOM.render(
<App />,
document.getElementById('root')
);
Всегда использую querySelector
. Ради однообразности. Теоретически медленнее, но на практике в коде редко когда есть множественные и некешируемые обращения к DOM-му. А для малого количесва обращений к DOM-му - разница не большая будет код выполняться со скоростью 1.6 миллиардов операций в секунду или 2.5 миллиона в секунду. (это значения для FF из комментария @Paulo). Зато избегаю выбором между классами и айдишниками, проблем с дублирующимися айдишниками на странице и получаю однообразие в коде.
Сама проблема из поста - не проблема. В том смысле что какое бы решение ни принять для себя, оно не будет сильно влиять на конечное качество приложения.