Не добавляеться класс через jQuery [закрыт]

70
30 сентября 2021, 22:50
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 1 год назад.

Улучшить вопрос

У меня есть код:

    $(document).ready(function() {
        $('.js-example-basic-single').select2({
            width: 300,
            minimumResultsForSearch: -1,
        }).on("select2:select", function (){
            let first=$('.select2-selection__rendered');
        changeColor(first);
        }).on('select2:open', function (){
            addBlack();
        });
    let firstTwo=$('.select2-selection__rendered');
    changeColor(firstTwo);
    function changeColor(elem){
        let list = elem[0].classList;
        if(list.length > 1){
           elem.removeClass(list[1]);
        }
        let a = elem[0].innerText;
        switch(a){
            case 'Kiev':
            elem.addClass('black-circle');
            break;
            case 'Odessa':
            elem.addClass('red-circle');
            break;
            case 'Harkiv':
            elem.addClass('green-circle');
            break;
        }
    }
    function addBlack(){
    let kiev = $('.select2-results__options').eq(0).children().eq(0);
    kiev.addClass('black-circle');
    console.log(kiev)
    }
});

Мне нужно, чтобы при открытии списка возле текста появился кружок:
- на первом элементе черный,
- на втором красный,
- на третьем зеленый

Когда я вывожу в консоль его классы, то мне пишет, что есть класс black-circle, но кружок не появляется.

css:
.select2-selection__rendered{
    margin-left: 60px;
    margin-bottom: 10px;
}
.black-circle::before{
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 360px;
    margin-top: 7px;
    background: black;
    margin-right: 20px;
}
.red-circle::before{
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 360px;
    margin-top: 7px;
    background: red;
    margin-right: 20px;
}
.green-circle::before{
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 360px;
    margin-top: 7px;
    background: green;
    margin-right: 20px;
}
Answer 1
'black-circle' != 'black-list'
  • Вы перепутали названия классов.
READ ALSO
Не работает pagination Owl Carousel

Не работает pagination Owl Carousel

Не работают кнопки owl-prev owl-next owl-dotsУ меня подключён jQuery 2

156
Наращивание функционала asp.net mvc

Наращивание функционала asp.net mvc

Только начал изучать aspnet mvc

173
Как правильно выгрузить connection string c xml файла в DBContext

Как правильно выгрузить connection string c xml файла в DBContext

Есть база данных, созданная на основе CodeFirst EntityFramework

114
Как получить паку в которой лежит prefab?

Как получить паку в которой лежит prefab?

У меня есть виджет в EditorWindow который формирует список префабов:

98