Застрял в одном месте читаю информацию на разных сайтах не могу найти причину такого поведения.
У меня есть html страница которая содержит:
<ul class="unordered-list"></ul>
в этот список, через js добавляются li, из шаблона. Мне необходимо чтобы по клику на одном элементе к данному списку добавлялся класс.
Ментор сказал по id ничего не искать и вообще не вписывать их, поэтому ищу все что нужно по классу.
Написал следующее :
const ul = document.getElementsByClassName('unordered-list');
console.log(ul);
ul.classList.add("random-class");
в констатне по классу идентифицирую мой список, консоль лог выводит HTMLCollection [ul.unordered-list] далее я пытаюсь добавить класс к этому элементу html, получаю ошибку Uncaught TypeError: Cannot read property 'add' of undefined at HTMLUListElement.<anonymous> (main.js:130)
смущает вот это указание про коллекцию, а не просто строкой код, подозреваю что это какая то глупая ошибка из за непонимания с моей стороны, разъясните этот момент пожалуйста.
ul[0].classList.add("random-class");– Aug 07 '19 at 20:07Это очень интересно, работает как нужно в таком случае:
– Mark Aug 07 '19 at 20:15const ul = document.getElementsByClassName('unordered-list')[0];document.querySelector('.unordered-list').classList.add("random-class");– Aug 07 '19 at 20:33