3

CSS クラスを介してタグのselected属性を設定することは可能ですか?option

スタイルシートで次のようなことが可能かどうか疑問に思っています:

option.selected {
  selected: true;
}

次にHTMLで:

<option class="selected">

selectedこれは、属性を設定するのと同じ効果があります。この技術は可能ですか?

4

6 に答える 6

13

いいえ、CSS は表示のみを変更し、コンテンツは変更しません (ただし、CSS3 はコンテンツの一部の変更をサポートしていますが、値の選択はサポートしていません)。HTML を直接変更できない場合は、JavaScript を使用する必要があります。

于 2009-07-13T21:04:34.793 に答える
2
option[selected] {background-color:skyblue;color:white;}

以前にマークされた選択を表示したい場合-結果を表示した後のユーザーからの変更とは関係なく、古い選択はsykblueのままで、新しい変更はdarkblueになります。

于 2011-03-29T08:19:28.383 に答える
2

CSS 経由ではありませんが、javascript 経由で実現できます。

function setSelects() {

    var allSelects = document.getElementsByTagName("select");
    for (var i = 0; i < allSelects.length; i++) {
        for (var j = 0; j < allSelects[i].options.length; j++) {
            if (allSelects[i].options[j].className == "selected") {

                allSelects[i].selectedIndex = j;
            }
        }
    }
}

window.onload = setSelects;

他の人が指摘しているように、そもそも CSS クラスを介してそれを行う理由がわかりません。

于 2009-07-13T21:07:01.107 に答える
1

JQuery を使用すると、これらの線に沿って何かを行うことができますが、CSS だけではできません。

于 2009-07-13T21:04:11.890 に答える
1

はい、可能ですが、IEについてはわかりません

以下のコードは、デフォルトで選択されたアイテムのスタイルを変更します。

           <style>
           option[selected="selected"] {
           color:red;
           font-weight:bold
           }
           </style>

           <select>
           <option value="1">Txt</option>
           <option value="2" selected="selected">Another Txt</option>
           </select>
于 2012-11-26T05:12:31.000 に答える
0

Selected は CSS プロパティではありません。http://www.w3.org/TR/CSS2/propidx.htmlで仕様を参照してください。

于 2009-07-13T21:08:29.917 に答える