如何使用复选框使用Javascript更改bgcolor?

时间:2013-01-22 08:58:10

标签: javascript jquery html css background-color

我有这个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()做一些事情。

编辑:我需要的是复选框应该只修改他当前的行。

2 个答案:

答案 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' : '';
    }
};

http://jsfiddle.net/TQbpH/2/

在此示例中,事件会向侦听它的父表气泡,然后在需要时调度它。

答案 1 :(得分:1)

http://jsfiddle.net/L6xsB/

$(function () {
    $('tr').on('click', 'input:checkbox', function () {
        $(this).parents('tr').toggleClass('active');
    });
});

CSS:

tr.active {
    background-color: #FFC;
}