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