Gracias Kip, para aquellos que pueden estar buscando para lograr los mismos utilizando $ (este), mientras que la iteración o asociarse dentro de una función:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
Miré por un tiempo mientras se trabaja este proyecto, pero no pude encontrar un buen ejemplo, así que espero que esto ayude a otras personas que pueden estar buscando para resolver el mismo problema.
En el ejemplo anterior, mi objetivo era ocultar las entradas de radio y el estilo de las etiquetas para proporcionar una experiencia de usuario más pulido (cambiando la orientación del diagrama de flujo).
Puede ver un ejemplo aquí
Si te gusta el ejemplo, este es el 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;}
y la parte correspondiente de la JavaScript:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
Una raíz alternativo a la pregunta original, dada la etiqueta sigue a la entrada, usted podría ir con una solución CSS puro y evitar el uso de JavaScript por completo ...:
input[type=checkbox]:checked+label {}