Лучшая практика: выбрать по идентификатору или классу с помощью jQuery? - PullRequest
6 голосов
/ 28 марта 2011

Предполагая, что каждый элемент в DOM имеет свое уникальное имя класса:

  1. Лучше ли использовать идентификаторы вместо имен классов при выборе элементов в DOM с помощью jQuery?

  2. Есть ли какие-либо преимущества в производительности при использовании одного над другим в jQuery?

Мне сказали, что традиционно получение элемента DOM с помощью идентификатора, а не по классам намного быстрее и, как правило, лучше, но применимо ли это также к jQuery?

Большое спасибо заранее!

Ответы [ 2 ]

5 голосов
/ 28 марта 2011

jQuery просто использует функциональность браузера. В старых браузерах (IE <9) функция <code>getElementsByClassName отсутствует, но практически каждый браузер поддерживает getElementById. В этих браузерах jQuery должен пройти по всему дереву и найти все элементы с заданным именем класса. Таким образом, использование идентификаторов будет быстрее.

Однако имейте в виду, что идентификаторы должны быть уникальными, т. Е. Нельзя иметь два элемента с одинаковым идентификатором. Это часто не рекомендуется, поскольку компоненты могут использоваться в разных контекстах на одной странице. Использование исключительно идентификаторов предотвратит это.

1 голос
/ 28 марта 2011

Выбор по идентификатору все еще быстрее, чем по именам классов в jquery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...