我有这个HTML
<table border="1">
<tr>
<td>
<input type="checkbox">
</td>
<td>
Hello
</td>
<td>
my friend!
</td>
</tr>
<tr>
<td>
<input type="checkbox">
</td>
<td>
...
</td>
<td>
...
</td>
</tr>
...
</table>
如果我想在激活复选框时更改<tr>
bgcolor,我该怎么办?我想我可能需要用onclick()
做一些事情。
编辑:我需要的是复选框应该只修改他当前的行。
答案 0 :(得分:3)
可能的方法之一:
document.getElementById('table').onclick = function(e) {
var e = e || event,
el = e.srcElement || e.target;
if (el.tagName == 'INPUT') {
el.parentNode.parentNode.className = el.checked ? 'active' : '';
}
};
在此示例中,事件会向侦听它的父表气泡,然后在需要时调度它。
答案 1 :(得分:1)
$(function () {
$('tr').on('click', 'input:checkbox', function () {
$(this).parents('tr').toggleClass('active');
});
});
CSS:
tr.active {
background-color: #FFC;
}