Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка atrr() в .each() (https://javascript.ru/forum/misc/70058-proverka-atrr-v-each.html)

Sokoljr 07.08.2017 18:04

Проверка atrr() в .each()
 
Добрый день

есть slick slider, у которого присутствует атрибут data-slick-index

я нахожу все элементы и вывожу в консоль через each()...

var slideItem = $('.customers-item');

    slideItem.each(function() {
        var curIndex = parseInt($( this ).attr('data-slick-index'));
        console.log(curIndex);
    });


мне нужно отсечь этот атрибут с положительным индексом и отрицательным, и в зависимости от этого назначать разные классы в js

но если я даже примитивно хочу убрать класс по условию === 0, то убирает со всех элементов слайдера

не понимаю в чем проблема

slideItem.each(function() {
        var curIndex = parseInt($( this ).attr('data-slick-index'));
        console.log(curIndex);
        if (curIndex === 0) {
            slideItem.removeClass('opacity-slide');
        }
    });


заранее спасибо

laimas 07.08.2017 18:12

Цитата:

Сообщение от Sokoljr
curIndex === 0

Зачем?

рони 07.08.2017 18:14

Цитата:

Сообщение от Sokoljr
то убирает со всех элементов

Цитата:

Сообщение от Sokoljr
slideItem.removeClass('opacity-slide');

$( this )

Sokoljr 07.08.2017 18:17

laimas,
мне элементу с атрибутом 0 нужно удалять класс

Sokoljr 07.08.2017 18:18

рони,
Спасибо!

laimas 07.08.2017 18:23

Цитата:

Сообщение от Sokoljr
мне элементу с атрибутом 0 нужно удалять класс

=== - это строгая проверка учитывающая и тип, а у вас после parseInt() будет число, и 0 = false. Если получать не атрибут, а data(), то достаточно:

if(!$(this).data('slickIndex')) $(this).removeClass('opacity-slide')

Sokoljr 07.08.2017 18:24

laimas,
Понял, логично, спасибо


Часовой пояс GMT +3, время: 17:46.