@Shuboanator

Как при нажатии на цвет добавить элементу (data-id="black")?

Как сделать, что бы при нажатии на элемент цвета к кнопке добавлялась data-id="color"?
<div class="black"></div>
<div class="white"></div>
<button class="add-to-bag" сюда добавить data-id при выборе цвета></button>
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Не вижу причин, по которым цвета должны быть классами. Замените на data-атрибуты:

<div data-color="black"></div>
<div data-color="white"></div>

document.addEventListener('click', ({ target: { dataset: { color } } }) => {
  if (color) {
    document.querySelector('button').dataset.id = color;
  }
});

// или

const button = document.querySelector('button');
const onClick = e => button.setAttribute('data-id', e.target.getAttribute('data-color'));
document.querySelectorAll('[data-color]').forEach(n => n.addEventListener('click', onClick));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Lynatik001
ну думаю обяснять как вешать онклик не надо?
а в нем
let el = document.querySelector('.black')
el.setAttribute('data-id', 'black');
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы