AlexaShemetova
@AlexaShemetova
While I'm breathing - I love and believe

Как передать аргументом больше одного класса?

Имею вот такой код
// Конструктор блоков *
export function elemConstruct({
    elemParent,
    elemClass,
    elemTag,
    elemInner
}) {
    this.elemClass = elemClass;
    this.elemInner = elemInner;
    var parent = document.querySelector(elemParent);
    this.addElem = function() {
        var elem = document.createElement(elemTag);
        elem.classList.add(this.elemClass);
        elem.innerHTML = this.elemInner;
        parent.appendChild(elem);
    };
}


Вторым аргументом передаю класс, но я хочу передать несколько классов, как это реализовать? Понимаю, может нужно передать массивом, но как это будет в синтаксисе?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 2
l3ftoverz
@l3ftoverz Куратор тега JavaScript
Люблю Финский металкор
Функция add принимает бесконечное кол-во аргументов.
add( String [,String] ), значит ты можешь передать массив параметром и распаковать его:

const elem = document.querySelector('div');
const classes = ['one', 'two', 'three'];

elem.classList.add(...classes)


Или передавай массив и цикл в руки, или без цикла className конкатенируй.
Ответ написан
@kova1ev
У вас класс не вторым аргументом, у вас один аргумент у функции - объект. Можете, при вызове функции в свойство elemClass записывать массив и потом разворачивать его, как в ответе выше указано: elem.classList.add(...this.elemClass)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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