धन्यवाद किप, उन लोगों के लिए जो $ का उपयोग करके समान प्राप्त करना चाह रहे हैं (यह) किसी फ़ंक्शन में पुनरावृति या संबद्ध करना:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
मैंने इस परियोजना पर काम करते हुए थोड़ी देर के लिए देखा लेकिन एक अच्छा उदाहरण नहीं मिल सका, इसलिए मुझे उम्मीद है कि इससे दूसरों को मदद मिलेगी जो एक ही मुद्दे को हल करना चाह रहे होंगे।
ऊपर दिए गए उदाहरण में, मेरा उद्देश्य रेडियो इनपुट को छिपाना और एक चालाक उपयोगकर्ता अनुभव प्रदान करने के लिए लेबलों को स्टाइल करना (फ्लोचार्ट के उन्मुखीकरण को बदलना) था।
आप यहां एक उदाहरण देख सकते हैं
यदि आप उदाहरण पसंद करते हैं, तो यहां सीएसएस है:
.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;}
और जावास्क्रिप्ट का प्रासंगिक हिस्सा:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
मूल प्रश्न के लिए एक वैकल्पिक रूट, दिया गया लेबल इनपुट का अनुसरण करता है, आप शुद्ध सीएसएस समाधान के साथ जा सकते हैं और जावास्क्रिप्ट का उपयोग करने से बचें ...:
input[type=checkbox]:checked+label {}
$('#comedyclubs')[0].labels
सभी लेबल को निर्दिष्ट करने के लिए उपयोग कर सकते हैं#comedyclubs
।