Я слышал, что querySelector
& querySelectorAll
- это новые методы выбора DOM
элементов. Как они соотносятся со старыми методами getElementById
и getElementsByClassName
с точки зрения производительности и поддержки браузера?
Как производительность сравнивается с использованием селектора запросов jQuery?
Есть ли рекомендации по выбору нативного набора?
getElementById
и getElementsByClassName
по - прежнему идеально подходит для целей их имена описывают.
qS/qSA
может использоваться из любого контекста элемента, но gEBI
может использоваться только из document
контекста.
getElementById
сопоставляет id
атрибуты для поиска узлов DOM при querySelector
поиске по селекторам. Таким образом , в случае недопустимой селектора , например <div id="1"></div>
, getElementById('1')
будет работать , пока querySelector('#1')
не удастся, если не сказать ему , чтобы соответствовать id
атрибуту (например querySelector('[id="1"]')
.
querySelector
и querySelectorAll
полностью поддерживаются. caniuse.com/#feat=queryselector