0

私が何をしているかについては、このリンクを参照してください。ラベルが選択されている場合、ラベルの色を変えようとしています。別のオプションを選択すると、前のオプションが元の色に戻ります。

私はグーグルで誰かのコードを試しました

function checkState(id){
    var layer = document.getElementById(id);
    if(layer.childNodes[0].checked === true){
    layer.style.backgroundColor = "#0099CC";
    }
else{
    layer.style.backgroundColor = "#eee" ;
};
}

ただし、これにより、2 番目のオプションが選択されたときに、以前に選択されたオプションが元の色に戻りません。JQuery は使用しないでください。

4

1 に答える 1

2

これが実際に機能するように修正されたフィドルです。将来的には、投稿する前に Fiddle が実際に機能することを確認してください。

とりわけ、構文エラー ( for( int i...)? 本当に?) を修正し、「色を通常に戻す」をスタイルをクリアするように変更して、ホバー効果が引き続き機能するようにしました。

CSS の将来のバージョンでは、次のようなことができるようになります。

!label>input:checked {background-color:#09c;}

!、セレクターの「ターゲット」を決定します。構文はまだ明確ではないことに注意してください。

于 2013-08-05T08:32:45.457 に答える