Добавить индекс элемента массива

var sliderLength = $(".quote-wrapp").length;
var pointLength = $(".point").length;

var point = $(".point");
var slide = $(".quote-wrapp");

var activePoint = $(".active");
var activeSlide = $(".active-slide");

var slideNumber;

console.log("sliderLength " + sliderLength);
console.log("pointLength " + pointLength);


point.click(function()
{
point.removeClass("active");
$(this).addClass("active");

slideNumber = $(this).index();

console.log("slideNumber " + slideNumber);

slide.removeClass("active-slide");
slide[slideNumber].addClass("active-slide");

});

мне пишет, что slide[slideNumber].addClass is not a function, я так понимаю я как-то не правильно обратился к массиву и оно его не находит, помогите пожалуйста


Ответы (2 шт):

Автор решения: Igor
$(slide[slideNumber]).addClass("active-slide");

или

slide.eq(slideNumber).addClass("active-slide");
→ Ссылка
Автор решения: Grundy

В переменной slide хранится jQuery объект, а не массив, поэтому у этой переменной есть метод .addClass и другие.

При обращении по индексу, например slide[slideNumber] - результатом будет обычный HTMLElement, у которого нет методов jQuery, поэтому нужно обернуть его в jQuery, например передав его в функцию $

$(slide[slideNumber]).addClass("active-slide");

Чтобы получить конкретный элемент из коллекции jQuery можно воспользоваться методом eq

slide.eq(slideNumber).addClass("active-slide");
→ Ссылка