如何更改表格中项目的背景? [重复]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

您可以将具有自定义样式的css类(而不是显式设置背景色)添加到这些元素,然后按如下所示修改函数:
function getclick(elem)
{
//find any elemenet with given class
//remove that class from it
//add that class to \'elem\'
}
我不知道纯JavaScript的正确语法,但是使用jQuery,可能是:
// find any element with given class and remove it
$(\'.yourClass\').removeClass(\'yourClass\');
// add that class to clicked element
elem.addClass(\'yourClass\');
您可以在此处查看工作示例。 顺便说一句:您的榜样对我没有用。     ,这是带有纯JavaScript的版本。它使用事件委托,这意味着仅一个单击处理程序分配给表,而不分配给每个单元格:
(function() {
    var current,table = document.getElementById(\'table\'); // I gave the table 
                                                  // the uncreative ID `table`
    table.onclick = function(event) {
        event = event || window.event;
        var target = event.target || event.srcElement;

        if(target.nodeName !== \'TD\') {
            do {
               target = target.parentNode;
            } while(target && target.nodeName !== \'TD\');
        }

        if(target) {
            if(current) {
                current.style.backgroundColor = \'\';
            }
            target.style.backgroundColor = \'#EFF2F7\';
            current = target;
        }
    };
}());
演示