Припускаючи, що кожен елемент у DOM має своє власне унікальне ім'я класу:
Чи доцільніше використовувати ідентифікатори проти імен класів при виборі елементів у DOM за допомогою jQuery?
Чи є якісь переваги продуктивності при використанні одного над іншим у jQuery?
Мені сказали, що традиційно отримання елемента DOM через ідентифікатор замість класу набагато швидше і, як правило, краща практика, але чи стосується це і jQuery?
Велике спасибі заранее!
Відповіді:
5 за відповідь № 1jQuery просто використовує функціональність браузера. У старих браузерах (IE <9) немає getElementsByClassName
функцію, але практично кожен браузер підтримує getElementById
. У цих браузерах jQuery повинен обходити все дерево і шукати всі елементи із заданою назвою класу. Тому використання посвідчень буде швидшим.
Однак майте на увазі, що ідентифікатори повинні бути унікальними, тобто.e. Ви не можете мати два елементи з однаковим ідентифікатором. Це часто недоцільно, оскільки компоненти можуть використовуватися в різних контекстах на одній сторінці. Використання виключно ідентифікаторів запобіжить цьому.
1 для відповіді № 2
Вибір за ідентифікатором все-таки швидший, ніж за іменами класів у jquery.