Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Поочередное добавление класса к каждому элементу в массиве (https://javascript.ru/forum/dom-window/83212-poocherednoe-dobavlenie-klassa-k-kazhdomu-ehlementu-v-massive.html)

arhis77 16.10.2021 03:18

Поочередное добавление класса к каждому элементу в массиве
 
Добрый день! Такой вопрос, делаю опросник для сайта, и наверху необходимо реализовать что-то вроде индикатора кол-ва пройденных вопросов, такие плашки, которые при переходе к следующему вопрос должны менять цвет, как бы показывая сколько уже пройдено.

Плашки я вывел на js по кол-ву вопросов, а как теперь сделать так, чтобы при нажатии на определенную кнопку, по которой происходит переход к следующему вопросу, так же добавлялся класс к очередной плашке? Получается, что нужно каждый раз добавлять класс следующему элементу от того, в котором данный класс уже есть?

вывод самих плашек сделал таким образом:

function createSteps() {
var count = questions.childNodes.length;
var steps = [], step;

for(var i = 0; i < count; i++) {
step = document.createElement("div");
// step.id = "step" + i;
step.className = "steps__item";
steps.push(step);
}

// Add the proper selector here
var target = document.getElementById("steps");
steps.forEach(function(step) {
target.appendChild(step);
});
}

рони 16.10.2021 08:05

arhis77,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

ksa 16.10.2021 09:46

Цитата:

Сообщение от arhis77
Получается, что нужно каждый раз добавлять класс следующему элементу от того, в котором данный класс уже есть?

Можно узнать сколько элементов уже выделено... И выделять элемент с таким же порядковым номером.
Правда придется добавить контроль на "все уже отмечены". ;)


Часовой пояс GMT +3, время: 21:54.