Почему classList.add() не работает в функции?

137
28 сентября 2019, 04:50

При запуске консоли пишет:

Cannot read property 'classList' of undefined.

Почему?

var slideIndex = 1; 
var slides = document.getElementsByClassName('slider-item'); 
var prev = document.querySelector('.prev'); 
var next = document.querySelector('.next'); 
var dots = document.querySelector('dot'); 
var dotsWrap = document.getElementsByClassName('slider-dots'); 
showSlider(slideIndex); 
 
function showSlider(n)  { 
    if (n > slides.length) { 
        slideIndex = 1; 
    } 
    if (n < 1) { 
        slideIndex = slides.length; 
    } 
    for (var i = 0; i < slides.length; i++) { 
        slides[i].style.display = 'none'; 
    } 
 
    for (var u = 0; i < dots.length; u++) { 
        dots[u].classList.remove('dot-active'); 
    } 
 
    slides[slideIndex - 1].style.display = 'block'; 
	dots[slideIndex - 1].classList.add('dot-active'); 
 
}

Answer 1

Массив dots короче, чем массив slides.

Пардон. dots вообще не массив, а один элемент или null.

READ ALSO
Скрипты мешают отправке сообщений phpmailler

Скрипты мешают отправке сообщений phpmailler

Есть проблема с отправкой писем с формыДело в том, что сразу после нажатия кнопки отправки, форме присваивается значение display: none; и отправка...

146
Почему не работает проверка на тип функции?

Почему не работает проверка на тип функции?

возник вопрос, при выполнении кода

162
VueJS: как работать с html блоками?

VueJS: как работать с html блоками?

Нужно реализовать на VueJS CRUD данного элементаСтрок может быть сколько угодно

157