-1

我有这个 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()

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

4

2 回答 2

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/

在此示例中,事件冒泡到侦听它的父表,然后在需要时分派它。

于 2013-01-22T09:07:54.743 回答
1

http://jsfiddle.net/L6xsB/

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

CSS:

tr.active {
    background-color: #FFC;
}
于 2013-01-22T09:03:09.690 回答