@sunnyrio

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

Есть 4 кнопки с классом btn и у каждой кнопки свой id, также есть отдельно форма для отправки запроса с элементом input имеющим свой id="wtch_name".
Нужно чтобы при клике на какую либо из 4х кнопок в значение class этого input подставлялся class в зависимости от id нажатой кнопки.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега CSS
Можно сделать объект, где ключами будут id кнопок, а значениями - имена классов:

const classes = {
  id1: 'class1',
  id2: 'class2',
  id3: 'class3',
};

$('button').click(function() {
  $('input')
    .removeClass(Object.values(classes).join(' '))
    .addClass(classes[this.id]);
});

Или добавить кнопкам атрибут, который будет содержать имя класса (id кнопкам в этом случае уже не нужны):

<button data-class="class1">click me</button>
<button data-class="class2">click me</button>
<button data-class="class3">click me</button>

$('button').click(function() {
  $('input')
    .removeClass($('button').get().map(n => n.dataset.class).join(' '))
    .addClass(this.dataset.class);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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