<input type="checkbox" name="filter" id="comedyclubs"/>
<label for="comedyclubs">Comedy Clubs</label>
ラベルが付いたチェックボックスがある場合、jQueryを使用してラベルを選択するにはどうすればよいですか?ラベルタグにIDを与え、$(#labelId)
を使用してラベルタグを選択する方が簡単でしょうか?チェックボックスのラベルのjQueryセレクタ
<input type="checkbox" name="filter" id="comedyclubs"/>
<label for="comedyclubs">Comedy Clubs</label>
ラベルが付いたチェックボックスがある場合、jQueryを使用してラベルを選択するにはどうすればよいですか?ラベルタグにIDを与え、$(#labelId)
を使用してラベルタグを選択する方が簡単でしょうか?チェックボックスのラベルのjQueryセレクタ
これは動作するはずです:
$("label[for='comedyclubs']")
も参照してください:Selectors/attributeEquals - jQuery JavaScript Library
これはそれを行う必要があります。
$("label[for=comedyclubs]")
あなたのIDに英数字以外の文字を持っているなら、あなたはATTRを囲む必要があります値の見積もり:
$("label[for='comedy-clubs']")
この回答が主要なものと同じ分に提出されたとき、SOの評判がどのようになっているか不思議です。 :) – sscirrus
@sscirrusその唯一のインターネットポイント:) –
別の解決策は次のようになります。
$("#comedyclubs").next()
$("label[for='"+$(this).attr("id")+"']");
これは、あなたが同様にループ内のすべてのフィールドのラベルを選択できるようにする必要があります。ラベルの意味は、for='FIELD'
とする必要があります。FIELD
は、このラベルが定義されているフィールドのIDです。
これは、複数のフィールドを持つ人にとっては素晴らしい答えです。この回答は#1でなければなりません。 –
おかげキップは、関数内で反復または関連付けながら、$(this)を使用して同じことを達成するために探しすることができる人のために:
$("label[for="+$(this).attr("id")+"]").addClass("orienSel");
私はこのプロジェクトを作業しながらしばらく見えたが、できませんでした私はこれが同じ問題を解決しようとしているかもしれない他の人々に役立つことを願っています。
上記の例では、私の目的は、ラジオ入力を隠し、ラベルのスタイルを変えてより滑らかなユーザーエクスペリエンス(フローチャートの向きを変更する)を提供することでした。
することができますあなたは例のように、ここではCSSの場合:
.orientation { position: absolute; top: -9999px; left: -9999px;}
.orienlabel{background:#1a97d4 url('http://www.ifreight.solutions/process.html/images/icons/flowChart.png') no-repeat 2px 5px; background-size: 40px auto;color:#fff; width:50px;height:50px;display:inline-block; border-radius:50%;color:transparent;cursor:pointer;}
.orR{ background-position: 9px -57px;}
.orT{ background-position: 2px -120px;}
.orB{ background-position: 6px -177px;}
.orienSel {background-color:#323232;}
とJavaScriptの関連部分:元に
function changeHandler() {
$(".orienSel").removeClass("orienSel");
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass("orienSel");
}
};
代替ルート質問は、ラベルが入力に続いている場合は、純粋なCSSソリューションを使用して、JavaScriptを使用しないでください:
input[type=checkbox]:checked+label {}
Webkitブラウザ(Safari/Chrome)の場合、 '$( '#comedyclubs')[0] .labelsを実行すると'#comedyclubs 'に割り当てられたすべてのラベルにアクセスできます。 – Matt
オブジェクトを文字列に変換するには、.text()を使用します。 alert($( "label [for = 'comedyclubs']")。 – Loren
は単に$( "label [for = 'comedyclubs']")を使って値を取得しますが、ラベルは空白になります。テキスト() – shahil