4

IE9 を除くすべての主要なブラウザーでは、無効なオプションのテキストが次のコードの赤に色付けされます。

<option disabled='disabled' class='red' value=''>No Students available to take up Assessment</option>

...
//CSS
.red{
color:red;
}

ただし、IE では、テキストの色は変更されず、グレーの無効な色のままです。無効な色をIE9で変更するにはどうすればよいですか?

4

2 に答える 2

0

おそらくCSSの属性セレクターを使用しますか?

option:disabled,
option[disabled] {
    color: red;
}
于 2013-02-03T03:34:58.557 に答える
-2

このようなもの?

select :disabled.red {
    color: red;
}

これは、Microsoftの疑似クラスに関するドキュメントです。:disabled

これは、IE9 以降で動作するはずのフィドルです。


更新:これは IE>8 でのみ機能するようです。この回答は、フォーム要素で readonly 属性を使用する回避策を示しています。ただし、それは option タグのオプションではありません。

古い IE には JavaScript による回避策があります。簡単な Google 検索で、jQuery ソリューションを提供するこのサイトにたどり着きました。

ブログから:

css のスタイリング マジックを少し追加するだけで、他のすべての最新ブラウザーで同じ結果が得られます。

その後、javascript を使用して有効化および無効化できます。多くの人が、オプションが無効になっているように見せ、オプション要素をクリックするのを待ってからぼかしたり、次の/前に選択したオプションに焦点を合わせたりして、無効のように振る舞うコードを書いています。

jQuery で使用される関数を思いつき、選択オプションを無効/有効にするには、それを optgroup に変換して元に戻します。これは firefox 2 & 3、safari 3、つまり 6 + 7 でテストされており、Opera 9 で動作します (ただし、opgroup は一番下にジャンプします)。

于 2013-02-03T03:17:56.553 に答える