2011-11-29 39 views
0

我有複選框。如果複選框被選中,我想切換包含複選框的div的樣式。如何使用jquery切換標籤樣式

<label for="ids"> 
     <div> 
      <img src="img/87_1180.jpg"> 
      <h4>Name</h4> 
      <input name="ids" id="ids" type="checkbox"> 
     </div> 
</label> 

當用戶點擊標籤時,複選框會被檢查。如果複選框被選中,我想添加類。

我很感激任何幫助。

回答

5
$("#ids").click(function() { 
    $(this).parent().toggleClass("yourClassName"); 
}); 
+0

請注意,您可能要添加開關'$(本).prop(「檢查」)''來.toggleClass' - 否則,你可能結束與狀態不匹配。 – nrabinowitz

0

喬希,

其實通常使用的標籤是像這樣的正確方法:

<label for="ids">Name</label> 
<input name="ids" id="ids" type="checkbox" /> 

我不認爲這是普遍的做法是在標籤內輸入根據W3C標準,請參閱:

http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL

雖然它可能會驗證您編寫代碼的方式,但要專門控制樣式更困難。

試試這個代碼更改標籤:

$("#ids").click(function() { 
    $('label[for="' + $(this).attr('name') + '"]').toggleClass('myClass'); 
});