2013-04-07 59 views
1

我正在嘗試使用jQuery將標籤添加到標籤的單擊事件<input type="radio" />的標籤上。使用jQuery將類添加到li

$(".gallery ul li input").each(function() { 
    $(this).click(function() { 
     var lblid = ".gallery ul li"; 
     var inplb = ".gallery ul li input"; 

     if ($(inplb).is(":checked")) { 
      $(lblid).addClass('active'); 
     } 
     else { 
      $(lblid).removeClass('active'); 
     } 
    }); 
}); 

和HTML

<div class="gallery"> 
    <ul> 
    <li><span></span><label for="slim1"><img src="../boo/img/banks_03.png" alt="" /></label><input type="radio" id="slim1" name="slim1" /></li> 
    <li><span></span><label for="slim2"><img src="../boo/img/banks_05.png" alt="" /></label><input type="radio" id="slim2" name="slim2" /></li> 
    </ul> 
</div> 

沒有人有任何想法,爲什麼這個類將不適用?

+0

你的代碼工作以及HTTP ://jsbin.com/ocanar/1/有什麼問題?代碼是否正在執行?確保你在這個腳本的上面包含了jQuery庫。 – 2013-04-07 10:21:23

回答

1

點擊標籤時,電臺的變化將觸發事件:

$(".gallery ul li input").on('change', function() { 
    $(".gallery ul li").removeClass('active'); 
    $(this).closest('li').toggleClass('active', this.checked); 
}); 

FIDDLE

+0

對不起brah,將加類不作標籤,但對於li,謝謝.. – 2013-04-07 10:16:49

+0

看我的css代碼 – 2013-04-07 10:35:40

+0

.gallery ul li.active img {#} {#} b1b1b1 1px solid; width:121px; height:54px; } – 2013-04-07 10:37:03

0

你可以這樣做:

$(".gallery ul li input").on('click', function() { 
    $(this).parents('li').toggleClass('active').siblings().removeClass("active"); 
}); 

Demo