2

これは古い HTML です

<div class="MainClass">
    <input type="checkbox" name="ppp" id="ppp" class="subClassInput">
    <label for="subClassLabel"></label>
</div>

これは新しい HTML です:

<div class="MainClass">
    <span class="subClassInput">
        <input type="checkbox" name="ppp" id="ppp">
    </span>
    <label for="subClassLabel"></label>
</div>

私の css は正常に動作していましたが、asp:CheckBox をスパンでレンダリングする asp.net を使用したいと考えています。特別なコントロールを構築してそれをオーバーライドできると思いますが、CSS を修正するだけです。

そのため、入力を確認した後にラベルにアクセスするには、次のように問題なく機能しました。

.MainClass input[type=checkbox]:checked + label:after {
 //attributes
 }

しかし、入力がチェックされた後、ラベルに到達する方法がわかりません。

ありがとう

4

2 に答える 2

0

現在、CSS または CSS3 でセレクターを実行することはできませ<:parent。それ以外の場合は、次のようなことができます。

span < input[type=checkbox]:checked + label:after

多分

input[type=checkbox]:checked:parent + label:after

これを読んでください http://css-tricks.com/parent-selectors-in-css/

于 2013-10-09T14:33:06.763 に答える
0

OP がスクリプト ソリューションを要求したので、ここに 1 つを示します。jQuery ライブラリを利用していることに注意してください。それを含める必要があります。

$(function(){
    $('input[type=checkbox]').click(function(){
          if($(this).is(':checked')){
             var label = $(this).parent().siblings('label');
             //apply your CSS styles here
          }
    });
});
于 2013-10-09T14:35:12.343 に答える