更改选中复选框的标签css

时间:2011-11-15 18:07:50

标签: jquery checkbox checked

我正在尝试使用JQuery更改以下标签的CSS,但我无法弄明白。这实际上是我的checkboxlist(asp.net)中的html,这是我到目前为止所拥有的。有人可以帮忙吗?谢谢。

下面的JQuery找到整个表并使所有标签变红,而不仅仅是我检查的标签。

$("#CheckBoxList1").click(function() {
    $(this).find('label').removeClass('red');
    if ($('span').hasClass('checked'))
        $(this).find('label').addClass('red');
});

<table id="CheckBoxList1" border="0">
  <tbody>
    <tr>
      <td>
        <div class="checker" id="uniform-CheckBoxList1_0">
          <span>
            <input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" style="opacity: 0; "/>
          </span>
        </div>
        <label for="CheckBoxList1_0">Mark Park</label>
      </td>
      <td>
        <div class="checker" id="uniform-CheckBoxList1_1">
          <span>
            <input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" style="opacity: 0; "/>
          </span>
        </div>
        <label for="CheckBoxList1_1">Amy Lee</label>
      </td>
      <td/>
    </tr>
  </tbody>
</table>

3 个答案:

答案 0 :(得分:1)

$("#CheckBoxList1").click(function() {
    $(this).find('label').removeClass('red');
    $('span.checked').parent().next('label').addClass('red');
});

答案 1 :(得分:0)

您可以在标签和复选框中添加一个类/ ID并以这种方式访问​​它:

 $(".check").click(function() {
   var id = $(this).attr("id").split("_");
    //access array of id
   $(".label_"+id[1]).addClass("red");
 }

然后将id / classes添加到你的html:

<input id="CheckBoxList1_0" id="check_1" type="checkbox" class="check" name="CheckBoxList1$0" style="opacity: 0; "/>

<label for="CheckBoxList1_0" id="label_1">Mark Park</label>

答案 2 :(得分:0)

尝试这样的事情:

$("label[for='comedyclubs']").toggleClass("red");