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

オプションが選択されると、選択されたオプションのスタイルを設定する UA シート ルールがあるため、HTML の色とは異なる計算された色を取得します。実際、これを見ることができます。選択されたオプションは、背景が青の白です。

したがって、オプションから計算された色を取得する代わりに、単に取得したい場合があります.style.color

于 2012-09-16T20:38:54.420 に答える
0

css('color') の代わりに attr('style') を使用します。

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

しかし、これはスタイル全体をコピーして上書きします。

于 2012-09-15T13:11:00.053 に答える