在使用精美的Chrome和IE7-9时,firefox又带来了另一个惊喜......
我要做的是根据所选Select
的颜色更改option
的颜色。出于某种神秘的原因,它在firefox中不起作用。
任何想法为什么?
$('#selectstat_sch').change(function(){
$(this).css('color',$('option:selected',this).css('color'));
}).trigger('change');
答案 0 :(得分:1)
详细说明undefined,我们可能想先验证我们的css属性,
如果存在其他一些属性,这也应该有效。
var style=$('option:selected',this).attr('style');
var matches=style.match(/color:([^;]+)/);
if (matches) $(this).css('color',matches[1]);
//else alert('no match');
答案 1 :(得分:0)
使用attr('style')代替css('color'):
$(document).ready(function(){
$('#selectstat_sch').change(function(){
$(this).attr('style',$('option:selected').attr('style'));
});
});
但是这个副本会覆盖整个样式。
答案 2 :(得分:0)
选择此选项后,它会获得与HTML中的颜色不同的计算颜色,因为有一个UA工作表规则可以为所选选项设置样式。实际上,您可以看到这一点:所选选项为白色,背景为蓝色。
因此,您可能只想获得.style.color
,而不是从选项中获取计算颜色,因为这就是您想要的,