Я работаю над приложением, передняя часть в основном использует jQuery.
Мы полагаемся на некоторые классифицированные элементы, присутствующие на странице, чтобы мы могли приложить к ним поведение. Например:
$('.block').on('click', clickHandler);
Один из других разработчиков сказал, что мы должны отделить презентацию от логики (с которой я согласен). Поскольку классы используются для представления, он предложил использовать атрибуты данных:
$('[data-attribute-name~=value]').on('click', clickHandler);
Однако я знаю следующее об этом подходе:
- Он значительно менее эффективен, чем селектор класса.
- HTML-классы используются для придания семантического значения элементу DOM и, как таковые, не ограничиваются презентационными применениями.
Я не вижу особого упоминания ни о том, что читал на ненавязчивый javascript.
Каковы основные отличия использования [data-attribute]
от классов/идентификаторов?
Это строго вопрос производительности/предпочтения?