如何使用jquery切换标签样式

问题描述:

我有复选框。如果复选框被选中,我想切换包含复选框的div的样式。如何使用jquery切换标签样式

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

当用户点击标签时,复选框会被检查。如果复选框被选中,我想添加类。

我很感激任何帮助。

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

请注意,您可能要添加开关'$(本).prop(“检查”)''来.toggleClass' - 否则,你可能结束与状态不匹配。 – nrabinowitz

乔希,

其实通常使用的标签是像这样的正确方法:

<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'); 
});