@Tupic123

Как взаимодействовать со всеми классами?

Нужно получить все кнопки из блока. По клике на одну из них кнопка должна получать класс 'focused', если будет выбрана другая кнопка то класс должен переключаться на нее. Код работает только с getElementsById

HTML
<button value="Одностраничный сайт" id="brief-input"  class="contacts__info brief-input">Одностраничный сайт</button>
         <button value="Корпоративный сайт" class="contacts__info brief-input">Корпоративный сайт</button>
         <button value="Интернет магазин"class="contacts__info brief-input">Интернет магазин</button>
         <button value="Я не знаю" class="contacts__info brief-input">Я не знаю</button>


Код js
var brief = document.getElementsByClassName('brief-input')

brief.onclick = function () {
   brief.classList.add('focused')
}
  • Вопрос задан
  • 97 просмотров
Решения вопроса 2
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Удобней всего будет воспользоваться querySelectorAll(), который создаст коллекцию элементов. Которую уже надо проитерировать и повесить слушатели клика. Ну или просто итерируй ту коллекцию, что собираешь сейчас.
Ответ написан
Tim-A-2020
@Tim-A-2020
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
OCTAGRAM
@OCTAGRAM
Не getElementsById, а getElementById в единственном числе! А getElementsByClassName возвращает не один элемент, а массивоподобный объект. Насколько я могу судить, массивоподобности не хватает, чтоб у него был родной метод forEach, но можно позвать forEach из настоящего Array:

Array.prototype.forEach.call
  (document.getElementsByTagName("link"),
   function (element) { console.log(element.href); });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 апр. 2024, в 00:02
1000 руб./за проект
17 апр. 2024, в 00:00
1500 руб./за проект
16 апр. 2024, в 23:47
20000 руб./за проект