我有一个包含以下行的表: tr tdinput type="checkbox" //td tda href="#"School/a/td tda href="#"DD1 1AB/a/td td80.10/td td200/td tdspan class="active"Active/span/td tda href="#"John Doe/abr/00000 000000/td/tr 我想要做的是当用
<tr> <td><input type="checkbox" /></td> <td><a href="#">School</a></td> <td><a href="#">DD1 1AB</a></td> <td>80.10</td> <td>200</td> <td><span class="active">Active</span></td> <td><a href="#">John Doe</a><br/>00000 000000</td> </tr>
我想要做的是当用户选择了复选框时更改了父< tr>的类.说选择,以便用户知道他们选择了哪一行.注意:他们可以打开和关闭这些!
假设某些复选框可以预先检查,我会采用这种方法:// First add class for pre-checked entries $(".xyz input[type=checkbox]:checked").each(function() { $(this).closest("tr").addClass("selected"); }); // Then toggle class whenever checkbox state changes $(".xyz input[type=checkbox]").live("change", function() { $(this).closest("tr").toggleClass("selected"); });
现场演示:http://jsfiddle.net/cUxmG/
为了减少两次搜索DOM的开销,可以将其组合到:
$(".xyz input[type=checkbox]").live("change", function() { $(this).closest("tr").toggleClass("selected"); }).filter(":checked").each(function() { $(this).closest("tr").addClass("selected"); });
它做同样的事情:http://jsfiddle.net/cUxmG/2/