ここで行っていることは非常に簡単です。
誰かが選択からオプションを選択すると、その選択の背景色を選択したオプションの色に変更したいと思います。
$("select").change(function(){
var newcolor=$(this).children("option:selected").css("background-color");
$(this).css("backgroundColor", newcolor);
});
簡単でしょ?Firefox 17.0.1 ではまったく機能しません (Chrome では機能します)。問題は、変数 newcolor が次の値で満たされていることですrgb(51, 153, 255)
。最良の部分は、この色がコード、css、またはその他のどこにも見つからないことです。
に変更しようとしましたbackground-color
が、何も機能しません。backgroundColor
children
find
楽しい部分は、私がこれを行う場合です:
$("select").change(function(){
var newcolor=$(this).children("option:first").css("background-color");
$(this).css("backgroundColor", newcolor);
});
そして、選択したオプションではなく、最初のオプションを選択してください...うまくいきます!
おそらくいくつかのクラスを使用して動作させることができますが、興味があります.なぜこれが起こっているのですか?それを解決する方法はありますか?
編集: jsFiddleを追加しました。クロムとファイアフォックスで試してみてください!