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 pudo encuentre un buen ejemplo, así que espero que esto ayude a otros que puedan estar buscando resolver el mismo problema.
En el ejemplo anterior, mi objetivo era ocultar las entradas de radio y peinar las etiquetas para proporcionar una experiencia de usuario más inteligente (cambiando la orientación del diagrama de flujo).
Puede see an example here
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 alternativa a la original pregunta, dado que la etiqueta sigue la entrada, podría ir con una solución de CSS pura y evitar usar JavaScript por completo ...:
input[type=checkbox]:checked+label {}
Para navegadores Webkit (Safari/Chrome), puedes hacer '$ ('# comedyclubs') [0] .labels' para acceder a todas las etiquetas asignadas a' # comedyclubs'. – Matt
Use .text() para convertir el objeto a cadena: alert ($ ("label [for = 'comedyclubs']"). Text()); – Loren
simplemente usando $ ("label [for = 'comedyclubs']") obtendrá el valor pero hará que la etiqueta quede en blanco. por lo tanto, use $ ("label [for = 'comedyclubs']"). text() – shahil