Благодаря Кипы, для тех, кто может быть ищут для достижения того же с помощью $ (это) в то время как итерация или ассоциирования в функции:
$("label[for="+$(this).attr("id")+"]").addClass("orienSel");
я смотрел на некоторое время, пока работает этот проект, но не может найти хороший пример, поэтому я надеюсь, что это поможет другим, кто может решить эту проблему.
В приведенном выше примере моя цель состояла в том, чтобы скрыть радиовходы и стилизовать метки, чтобы обеспечить пользовательский интерфейс slicker (изменение ориентации блок-схемы).
Вы можете see an example here
Если вам нравится пример, вот 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 {}
Для браузеров Webkit (Safari/Chrome) вы можете использовать '$ ('# comedyclubs') [0] .labels' для доступа ко всем меткам, присвоенным' # comedyclubs'. – Matt
Используйте .text() для преобразования объекта в строку: alert ($ ("label [for = 'comedyclubs']"). Text()); – Loren
просто используя $ ("label [for = 'comedyclubs']"), вы получите значение, но оно сделает ярлык пустым. поэтому, используйте $ ("label [for = 'comedyclubs']"). text() – shahil