Mulțumesc Kip, pentru cei care ar putea fi în căutarea pentru a obține aceleași $ folosind (acest lucru) în timp ce recapitula sau asocierea în cadrul unei funcții:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
M-am uitat pentru un timp de lucru în timp ce acest proiect, dar nu a putut găsi un bun exemplu asa ca sper ca acest lucru îi ajută pe alții care ar putea fi în căutarea pentru a rezolva aceeași problemă.
În exemplul de mai sus, obiectivul meu a fost de a ascunde intrările de radio și stilul etichetele pentru a oferi utilizatorului o experiență impermeabil (schimbarea orientării schemei logice).
Puteți vedea un exemplu aici
Dacă vă place exemplul, aici este 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;}
și partea relevantă a JavaScript:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
O rădăcină alternativă la întrebarea inițială, având în vedere eticheta urmează de intrare, ai putea merge cu o soluție css pură și să evite utilizarea JavaScript cu totul ...:
input[type=checkbox]:checked+label {}