@montpellier

При клике на элемент помещать значение дата атрибута в массив?

Есть несколько элементов, как при клике по одному переносить значение его дата атрибута в массив, а при повторном клике убирать из него?
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Например, так:

const active = [];

$(document).on('click', 'тут должен быть селектор ваших элементов', function() {
  const
    value = $(this).data('тут должно быть имя вашего data-атрибута'),
    index = active.indexOf(value);

  if (index === -1) {
    active.push(value);
  } else {
    active.splice(index, 1);
  }
});

Правда, не очень понятно, зачем такие сложности. Можно при клике переключать класс, и когда возникнет необходимость в значениях атрибутов, достать их из элементов, имеющих класс:

$(document).on('click', 'селектор', function() {
  $(this).toggleClass('active');
});

const active = $('.active').get().map(n => n.dataset['имя data-атрибута']);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
а в чем проблема?

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

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $
Artezio Москва
от 160 000 до 220 000 ₽
26 февр. 2021, в 05:09
3000 руб./за проект
26 февр. 2021, в 04:16
3000 руб./за проект
26 февр. 2021, в 01:40
1000 руб./за проект