Yanıtlar:
Bu çalışmalı:
$("label[for='comedyclubs']")
Ayrıca bkz: Seçiciler / attributeEquals - jQuery JavaScript Kütüphanesi
$("label[for='"+$(this).attr("id")+"']");
Bu, bir döngüdeki tüm alanlar için de etiket seçmenize izin vermelidir. Tek yapmanız gereken, etiketlerinizin, bu etiketin tanımlandığı alanın kimliğinin for='FIELD'
nerede FIELD
olduğunu söylemesidir .
Bunu yapmalı:
$("label[for=comedyclubs]")
Kimliğinizde alfasayısal olmayan karakterler varsa, attr değerini tırnak işaretleri içine almalısınız:
$("label[for='comedy-clubs']")
Başka bir çözüm şunlar olabilir:
$("#comedyclubs").next()
$("#comedyclubs").nextAll().first()
Bir işlevi içinde yineleme veya ilişkilendirme yaparken $ (this) kullanarak aynı şeyi başarmak isteyenler için teşekkürler Kip:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
Bu projeyi çalışırken bir süre aradım ama iyi bir örnek bulamadım, umarım bu aynı sorunu çözmek isteyen başkalarına yardımcı olur.
Yukarıdaki örnekte amacım, radyo girişlerini gizlemek ve daha ince bir kullanıcı deneyimi sağlamak için etiketleri biçimlendirmekti (akış şemasının yönünü değiştirerek).
Sen olabilir burada bir örnek görmek
Örneği beğendiyseniz, işte 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;}
ve JavaScript'in ilgili kısmı:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
Orijinal soruya alternatif bir kök, etiket girdiyi takip ettiğinde, saf bir css çözümü ile gidebilir ve JavaScript'i tamamen kullanmaktan kaçınabilirsiniz ...:
input[type=checkbox]:checked+label {}
$('#comedyclubs')[0].labels
atanan tüm etiketlere erişmek için yapabilirsiniz#comedyclubs
.