2012-01-31 11 views

答えて

2

私は、これはあなたが持っているとまったく同じHTMLを維持することができます。この

$('#check').change(function() { 
    $(this).attr('checked', false); 
    $('label[for="' + $(this).attr('id') + '"]').WHATEVER(); 
}); 

ような何かをするだろう。しかし

$("#Check").closest('label'); 

@kprobstによって記載されているように
また、あなたは近く一緒に2つのラベルがある場合、誤って解釈される「可能性」という、closest方法を使用することができます。最初の提案は、入力の「正しい」ラベルの呼び出しを保証します。

+2

私はチェックボックスを非表示にし、表示するために、これを使用する方法の(http://jsfiddle.net/rockinthesixstring/w7SWP/)[ここでは例です]。 –

+1

私は本当に 'closest()'アプローチが嫌いです。要素の位置に依存し、スクリプトを変更したり中断したりする可能性があるからです。 – kprobst

2

理想的には、IDやユニークなスタイルまたは要素を参照するために何かを必要とするが、あなたはまた、このような位置セレクタを使用することができます。

$("#Check").closest('label'); 
+0

笑...スナップ! :) – autonomatt

2

のIDを持っているIt'sはprobaly最も簡単label要素を使用してアクセスします。

+0

必ずしもそうではありません。 - 回答が変更された後に変更されました。 –

+1

ええ、私の答えが少し誤解を招いていたのを見ました。 –

+0

ps:upvotesを取得するにはコード例が常に役立ちます;) –

3

はい、id="checkLabel"とし、jQuery $('#checkLabel')..でアクセスできます。

それともあなたはそれをあなたが.closestを使用することができ、IDを与えたくない場合:

$('#check').closest('label') 
1

前年比はそれにアクセスすることができます

$('#check').next(); 

をあなただけのときにそれをアクセスする場合ラジオボタンがチェックされます。

$("#check:checked").next(); 
関連する問題