1

在 Chrome 和 IE7-9 运行良好的同时,firefox 带来了另一个惊喜……

http://jsfiddle.net/D3zXj/

我想要做的是Select根据选定的颜色更改颜色option。由于某种神秘的原因,它在 Firefox 中不起作用。

任何想法为什么?

$('#selectstat_sch').change(function(){
    $(this).css('color',$('option:selected',this).css('color'));
}).trigger('change');
4

3 回答 3

1

详细说明未定义,我们可能想首先验证我们的 css 属性,

如果存在其他一些属性,这也应该有效。

http://jsfiddle.net/D3zXj/2/

    var style=$('option:selected',this).attr('style');
    var matches=style.match(/color:([^;]+)/);
    if (matches) $(this).css('color',matches[1]);
    //else alert('no match');
于 2012-09-15T13:16:24.520 回答
0

使用 attr('style') 代替 css('color'):

$(document).ready(function(){
    $('#selectstat_sch').change(function(){
        $(this).attr('style',$('option:selected').attr('style'));
    });
});

但是这个副本并覆盖了整个样式。

于 2012-09-15T13:11:00.053 回答
0

选择该选项后,它会获得与 HTML 中的颜色不同的计算颜色,因为有一个 UA 表单规则可以设置所选选项的样式。实际上,您可以看到:所选选项是蓝色背景的白色。

因此,您可能不想从选项中获取计算出的颜色,而只是获取.style.color,因为这就是您想要的,

于 2012-09-16T20:38:54.420 回答