Дякую, Кіп, тим, хто, можливо, прагне досягти того, використовуючи $ (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 {}
$('#comedyclubs')[0].labels
доступ до всіх призначених для них міток#comedyclubs
.