@Hellas

Почему принято использовать id для скриптов, а class для стилей?

Возможно, такая методика просто принята для удобства и не более того?
  • Вопрос задан
  • 1381 просмотр
Решения вопроса 6
DevMan
@DevMan
и id и class используются и в js и в css.
разница между ними, помимо упомянутого быстродействия, в том, что id должен быть уникальным (определенный id должен быть только у одного элемента), а одинаковый class может быть у множества элементов.
Ответ написан
Селектор по ID быстрее, что актуально для быстродействия (работа с DOM - самые медленные операции, как правило). Для скриптов тоже часто используются селекторы по классам, если нужно провести операции с несколькими объектами.

Опять же, в некоторых методологиях (например, в SMACSS) более чем нормально использовать селектор по id в CSS, в определенных случаях. Но я предпочитаю этого не делать без явной необходимости.
Ответ написан
Комментировать
xPomaHx
@xPomaHx
1vs9
Никогда не используйте id. Иногда может потребоваться дублировать то что казалось бы ну ни как не может быть дважды на странице, а заметить что там внутри где то ID используется сложно. Экономить на быстродействии тоже не строит это сущие мелочи в данном случае.
Ответ написан
Комментировать
passshift
@passshift
php, js, html5, css
Роман Бережнов к примеру есть форма обратной связи, определенно точно второй такой формы быть не может, почему бы в этом случае не использовать id?

А если есть кнопка и class состоит из нескольких элементов, что-то вроде
class="ui small red icon button"

- предлагаете добавить в конец еще один button-click для обработчика? Или вовсе не добавлять и ссылаться на button? При этом если на странице еще есть кнопки с этим классом, то они тоже будут закреплены за обработчиком...

id и class нужно использовать и то и другое по необходимости, стараясь id использовать чаще!
Ответ написан
edli007
@edli007
full stack, team lead
Раньше, селектор по ID был быстрее, в современном JS это уже не так, однако исторически это все еще приводят как аргумент. Для читабельности кода, часто удобно когда есть уверенность что это именно "вон тот элемент", а не какой-то другой, для чего удобно использовать ID.
Ответ написан
Комментировать
eucalipt
@eucalipt
Самоделкин.
Такого четкого разграничения, как вы написали, нет.
Да, в различных туториалах по JS постоянно обращаются к элементам через getElementById(), потому что в основном обращаются к одному элементу. Ясное дело, что никто не будет использовать id для нескольких элементов (хотя бы потому, что в спецификации четко описан запрет такого действия).

Нужно самому понимать, в каких случаях обращаться по id, а в каких - по классу. Если вы точно уверены, что такой элемент будет один, то используйте id. Если это, например, нумерованный список, то, понятное дело, вы не будете выдавать id каждому элементу.

Нет четко определенного разграничения по поводу того, где что использовать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы