Манипулирование массивом DOM

#javascript

#javascript

Вопрос:

Массив, которым я пытаюсь манипулировать

 const choices = Array.from(document.getElementsByClassName("choice-text"));
  

когда я запускаю консоль.запишите это, я получаю это

консоль.войти из вариантов

Я пытаюсь получить доступ к этому p.choice-text, choice-text — это класс в моем html, кстати, и все, что я хочу сделать, это удалить класс из списка классов. Я ни за что в жизни не смогу разобраться в этом, буду признателен за любую помощь.

Обновление: пробовал

choices.forEach(p => {
p.classList.remove("unwanted-class");
})

не сработало

Комментарии:

1. choices.forEach(x=>x.classList.remove("choice-text"));

Ответ №1:

Вы можете использовать forEach цикл для перебора элементов и затем делать все, что захотите:

 const choices = Array.from(document.getElementsByClassName("choice-text"));

choices.forEach((p) => {
    p.classList.remove('another-class');
}
  

В качестве альтернативы вы могли бы использовать цикл for без необходимости преобразования результата в массив:

 const choices = document.getElementsByClassName("choice-text");

for (var i = 0; i < choices.length; i  ) {
  choices[i].classList.remove('another-class');
}
  

Комментарии:

1. Ах, я пробовал это, но это не сработало, в classList все еще есть класс, который я хотел удалить

2. @Nen Затем включите код, который вы использовали, потому что у меня это сработало.

3. Ах, мб, я забыл добавить элемент parentElement, извините, что отнял у вас время. Большое спасибо, мистер Гик