У меня есть элемент управления ретрансляторами в моем веб-приложении, состоящем из выпадающего списка, я манипулирую с этим выпадающим поведением (добавив некоторые пользовательские стили) на событие change
. Проблема в том, что когда я использую свойство jquery css
для получения значения фона фона, оно возвращает мне значение, которое было установлено ранее, но не обновленное значение. Но странно, когда я использую свойство attr
, чтобы получить атрибут стиля, он дает мне правильный результат, но, очевидно, я не могу использовать его, потому что мне нужен конкретный стиль.Свойство jQuery css не получает правильное значение
Вот мой оказал выпадающий: -
<select name="ct100$rptCurrentData$ct101$ddlIncludeData" class="clsTypes"
id="ctl00_rptCurrentDatas_ddlIncludeData_0" style="background-color: transparent;">
<option style="background-color: transparent;" value="-1">Select</option>
<option style="background-color: transparent;" value="1">Activity</option>
<option style="background-color: rgb(231, 251, 189);" value="2">Proposal</option>
<option style="background-color: transparent;" value="3">Both</option>
</select>
Я перезаписывать цвет фона выбранного выпадающего меню с помощью: -
$(this).find('option:selected').css("backgroundColor", '#E7FBBD');`
И как мы можем видеть в оказанной HTML, это обновление штрафа. Но моя проблема заключается в том, чтобы получить то же самое, я получаю правильное значение с .attr("style")
, но не с .css
Почему?
$(this).find('option:selected').css('background-color')); //Output-rgb(10, 36, 106)
$(this).find('option:selected').css('backgroundColor')); //Output-rgb(10, 36, 106)
$(this).find('option:selected').attr("style"));
//Output- background-color: rgb(231, 251, 189);
Связано это с [это] (http://stackoverflow.com/questions/3485365/how-can-i-force-webkit-to-redraw-repaint-to-propagate-style- изменения/3485654 # 3485654) – BNN
@nadeem - Nope! –