1

私は次のhtmlコードを持っています:

<div class="tests">
    <input name="premise" id="premise" type="radio" class="required" value="0"><span>0</span>
    <input name="premise" type="radio" class="required" value="1"><span>1</span>  
    <input name="premise" type="radio" class="required" value="2"><span>2</span>
    <input name="premise" type="radio" class="required" value="3"><span>3</span>
    <input name="premise" type="radio" class="required" value="4"><span>4</span>
    <input name="premise" type="radio" class="required" value="5"><span>5</span>      
    </div>

これが私が使用しているjqueryですが、残念ながら機能しません。jQuery("#premise").children().addClass('redtext');

クリックしたラジオボックスにクラスredtextを追加しようとしています。したがって、値= 1のラジオをクリックすると、スパン内にある番号1が赤で表示されます。

4

2 に答える 2

1

jQueryのchildren()演算子を誤用しています。children()は、DOMツリー内の要素の子を操作しますが、この場合、クラスを追加しようとしているスパンは<input>、子ではなく、タグの兄弟です。それで

$("#premise").next().addClass('redtext');

<input>DOMツリーので最も近い兄弟にクラスを追加する必要があります。これは<span>あなたが探しているものです。

于 2012-04-13T05:39:05.963 に答える
1

まあ、あなたのコード<span>の子ではありません...あなたはこれで変更することができます これはうまくいくはずです:<input>childrennext

$('#premise').next().addClass('redtext');
于 2012-04-13T05:34:38.153 に答える