Изменение CSS путем вставки переменной с помощью jquery

Я пытаюсь изменить css класса с помощью jquery 3 и изменить цвет фона.

Сначала я конвертирую цветовой код rgba (properties.color) в шестнадцатеричный код, который прекрасно работает.

Затем я меняю фон класса «zu-default div» с помощью jquery. Однако это не работает, когда я вставляю переменную «finalcolor». Когда я жестко задаю шестнадцатеричный цвет, такой как «#fec23b», изменение становится видимым. Когда я использую переменную «finalcolor», изменений нет. Вывод переменной finalcolor на консоль показывает, что это идеальный шестнадцатеричный код.

Какие-либо предложения?

// converts a rgba to hex
 let finalcolor = rgb2hex(properties.color);

    //prints the converted hexadecimal (for eg: #fec23b)
   console.info(finalcolor);

//Should modify the background of the zu-default div class to the color „finalcolor“
$('.zu-default div').css("background", finalcolor);

Укажите минимальный воспроизводимый пример, воспроизводящий описанную вами проблему.

Asons 12.04.2019 15:24

Вы пробовали сделать жесткую перезагрузку/очистку кеша? В Chrome вы можете сделать это, нажав CTRL + SHIFT + R или нажав F12, щелкнув правой кнопкой мыши кнопку обновления и выбрав «Очистить кеш и выполнить жесткую перезагрузку».

Bedir 12.04.2019 15:24

И обратите внимание, если присвоить переменной finalcolor, например, #fec23b все работает нормально, так что, скорее всего, с вашей конверсией что-то не так.

Asons 12.04.2019 15:30

Переменная finalcolor зависит от текущего пользователя, но я проверил ее, и она всегда является допустимым шестнадцатеричным числом, например #fec23b.

NL97 12.04.2019 15:32

Вы уверены, что возвращаемое значение rgb2hex() имеет тип string?

Asons 12.04.2019 15:33

Пример в студию.

Юрий Светлов 12.04.2019 15:35

@ЮрийСветлов Как говорит OP, это работает, когда переменная жестко запрограммирована, нам не нужно видеть класс .zu-default div ... нам нужен образец воспроизводящий, хотя проблема

Asons 12.04.2019 15:35

@ NL97 Я ответил на твой вопрос?

Юрий Светлов 12.04.2019 16:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
8
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$('.zu-default div').css("background", finalcolor+' !important');

или

$('.zu-default div').css("background", finalcolor.toString());

это работает?

 $('.zu-default div').css("background", 'green');
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class = "zu-default">
            <div style = "width: 10px; height: 10px;"></div>
            <div style = "width: 10px; height: 10px;"></div>
            <div style = "width: 10px; height: 10px;"></div>
        </div>

let finalcolor = '#222222';

$('.zu-default div').attr('style', $('.zu-default div').attr('style')+"background: "+finalcolor+";");
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


        <div class = "zu-default">
            <div style = "width: 10px; height: 10px;"></div>
            <div style = "width: 10px; height: 10px;"></div>
            <div style = "width: 10px; height: 10px;"></div>
        </div>

Другие вопросы по теме