@struhovv

Как добавить классы к элементам в jquery?

Есть повторяющиеся элементы

$('.elem1').hover(
       function(){ $('.target').addClass('hover1') },
       function(){ $('.target').removeClass('hover1') }
);
$('.elem2').hover(
       function(){ $('.target').addClass('hover2') },
       function(){ $('.target').removeClass('hover2') }
);
......
$('.elem15').hover(
       function(){ $('.target').addClass('hover15') },
       function(){ $('.target').removeClass('hover15') }
);
$('.elem21').hover(
       function(){ $('.target').addClass('hover21') },
       function(){ $('.target').removeClass('hover21') }
);


Как сократить код и добавить элементам "elem" и "hover" соответствующую цифру? (Для elem15 - hover 15)
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@eternalfire
const nodes = [
    {
        targetClass: 'elem1',
        hoverClass: 'hover1',
    },
    {
        targetClass: 'elem2',
        hoverClass: 'hover2',
    }
];

nodes.forEach((node) => {
    $(`.${node.targetClass}`).hover(
        function(){ $('.target').addClass(`.${node.hoverClass}`) },
        function(){ $('.target').removeClass(`.${node.hoverClass}`) }
    );
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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