如何切换父背景?

时间:2012-10-18 12:08:05

标签: jquery

我有简单的表格和复选框。检查时 - 我需要更改行的颜色。

<tr height="35">
    <td><input type="checkbox" ></td>
    <td>Name</td>
    <td>Surname</td>
</tr>

目前我这样做

jQuery('input[type="checkbox"]').click(function(){
    jQuery(this).parent().parent().css('background-color', 'red');
});

但我认为.parent().parent()不是一个好主意......还有一些方法来切换背景?也许在某种程度上改变蚂蚁后检查与否?

3 个答案:

答案 0 :(得分:2)

您可以改为使用closest()

$("input[type='checkbox']").click(function(){
    $(this).closest("tr").css("background-color", "red");
});

答案 1 :(得分:0)

你可以这样做

  $("input[type='checkbox']").click(function(){
         $(this).parents("tr:first").css("background-color", "red");
  });

参考:http://api.jquery.com/parents/

演示:http://jsfiddle.net/qGZPP/

答案 2 :(得分:0)

您应该尝试在复选框上单击切换背景颜色。

jQuery('input[type="checkbox"]').click(function(){
    var self = jQuery(this);
    var parentTr = self.closest("tr");
    if(this.checked)
      parentTr.css('background-color', 'red');
    else 
      parentTr.css('background-color', 'default-color or empty if no default color');
});

选中 Demo