我在我的web应用程序中有一个中继器控件,它包含一个下拉列表,我在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);
它与[this](http://stackoverflow.com/questions/3485365/how-can-i-force-webkit-to-redraw-repaint-to-propagate-style-变化/ 3485654#3485654) – BNN
@nadeem - 不! –