Dank Kip, für diejenigen, die suchen die gleichen mit $ (this), während Iterieren oder Zuordnen innerhalb einer Funktion zu erreichen:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
Ich sah eine Zeit lang während dieses Projekt zu arbeiten, konnte aber nicht ein gutes Beispiel finden, so ich hoffe, dass dies hilft andere, die das gleiche Problem lösen kann suchen.
In dem obigen Beispiel war mein Ziel, den Funk Eingänge zu verstecken und die Etiketten-Stil Eine schlankeres Benutzererfahrung zu liefern (die Ausrichtung des Flußdiagramms verändern).
Sie können ein Beispiel hier sehen
Wenn Sie das Beispiel möchten, hier ist die 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;}
und der relevante Teil des JavaScript:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
Ein alternatives Root-Verzeichnis auf die ursprüngliche Frage, das Etikett folgt den Eingang gegeben, könnte man mit einer reinen CSS-Lösung gehen und mit Hilfe von JavaScript ganz vermeiden ...:
input[type=checkbox]:checked+label {}