Применения цикла больше 1-го раза
Всем привет. Столкнулся с вопросом - как всем html элементам применить свойства из метода. Вот пример применения первому элементу, как можно преобразовать и применить всем элементам?
class Elem {
constructor(elements) {
this.elements = elements;
}
attr(type, value) {
let elem = document.querySelector(this.elements);
elem.setAttribute(type, value);
return this;
}
}
let elem = new Elem('.paragraf');
elem.attr('class', 'abc');
Ответы (1 шт):
Автор решения: Roman Lytvynov
→ Ссылка
В методе attr вместо querySelector используйте querySelectorAll и результат (массив) пройдите и к каждому элементу примените нужную операцию.
class Elem {
constructor(query) {
this.query = query;
}
attr(type, value) {
const elems = document.querySelectorAll(this.query);
elems.forEach(el => el.setAttribute(type, value));
return this;
}
}
let elem = new Elem('.paragraf');
elem.attr('class', 'green');
.green {
color: green;
}
<div class="paragraf">Тест</div>
<div class="paragraf">Тест 1</div>
<div class="paragraf">Тест 2</div>
<div class="paragraf">Тест 3</div>
<div class="paragraf">Тест 4</div>
<div class="paragraf">Тест 5</div>