@Happymalina

Как модернизировать код для collapse — элементов чтобы для каждого нового элемента подставлялся новый id?

Привет! Подскажите как сделать такой "цикл", наверно это так можно назвать. В верстке есть два блока внутри которых есть скрытый текст - сделан с помощью bootstrap collapse. К событию раскрытия блока привязано изменение текста (Подробнее/Скрыть). Но там присутствует уникальные идентификатор для каждого блока. Если бы блоков было ограниченное количество - можно было бы для каждого прописать id и на него повесить событие. Но элементов предполагается много, поэтому нужно как то систематизировать добавление id для нового элемента, и связку id c data-элементом. Сейчас для двух блоков код в js такой:
$('#toggle-cat-desc').on('show.bs.collapse', function(){
        $(this).next().html('Скрыть');
    });
    $('#toggle-cat-desc').on('hide.bs.collapse', function(){
        $(this).next().html('Подробнее');
    });
    $('#toggle-cat-desc2').on('show.bs.collapse', function(){
        $(this).next().html('Скрыть');
    });
    $('#toggle-cat-desc2').on('hide.bs.collapse', function(){
        $(this).next().html('Подробнее');
    });

Помогите ссылочкой на решения,если встречали или подскажите пожалуйста как реализовать. Понимаю что нужно добавить переменную с числом и как то в цикл ее добавить. Но знаний по js пока не хватает(
  • Вопрос задан
  • 441 просмотр
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Просто сделайте общий класс

$('.toggle-cat-desc').on('show.bs.collapse', function(){
        $(this).next().html('Скрыть');
    }).on('hide.bs.collapse', function(){
        $(this).next().html('Подробнее');
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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