следует ли заменить document.getElementById
или так на document.querySelector
? любая разница?using querySelector вместо document.getElementById
Вы порекомендуете мне использовать querySelector
?
следует ли заменить document.getElementById
или так на document.querySelector
? любая разница?using querySelector вместо document.getElementById
Вы порекомендуете мне использовать querySelector
?
Если вы все равно выбираете идентификаторы, используйте getElementById
, так как это намного эффективнее, чем использование querySelector
на селекторе id. Последний запускает весь синтаксический селектор CSS, в то время как первый может просто взять идентификатор и получить элемент с этим идентификатором напрямую.
Конечно, при выборе на основе других критериев, отличных от идентификатора элемента, querySelector
(и querySelectorAll
), очевидно, имеет свое место.
(The obligatory benchmark доказать это утверждение, но я хочу отметить, что тесты не все, а разница, вероятно, не будет большой разницы в реальном приложении.)
Если querySelector доступен в браузера, который используют ваши пользователи. Тогда вы можете использовать его. Приятно, что вам не нужно помечать ваш html идентификаторами. Выбор с помощью селекторов css чрезвычайно гибкий.
Производительность - это красная сельдь. Мой дерьмовый старый ноутбук может управлять 3 миллионами выборов в секунду ...
Настоящая проблема - совместимость. Как вы собираетесь работать с браузерами, которые не имеют его? Вы заботитесь? Вы, вероятно, должны заботиться.
Оба варианта предназначены для вашего случая. Но getElementById - наиболее проверенный подход. Однако, если вас не интересуют устаревшие браузеры, тогда также будет нужен запросSelector.
Наслаждайтесь!
Можно ли использовать 'querySelector()' (или 'querySelectorAll()'), полностью зависит от ваших пользователей, имеющих браузеры, которые внедряют этот метод, и в ваш собственный конкретный прецедент. У вас возникла проблема с использованием, или * не * использованием, 'querySelector()'? –