Javascript 如何调整此代码以重置过去选定行的颜色

Javascript 如何调整此代码以重置过去选定行的颜色,javascript,Javascript,如何调整此代码,以便在选择行时,颜色会发生变化,但也会将单击的其他任何内容重置为原始颜色。很明显,现在它每次单击都会更改行的颜色,并且所有过去选定的行的颜色保持不变 var tr = document.getElementById("r_row" + r); for (var c = 0; c < columns; c++) { var td = document.createElement("td"); td.innerText = cellText[c]; tr

如何调整此代码,以便在选择行时,颜色会发生变化,但也会将单击的其他任何内容重置为原始颜色。很明显,现在它每次单击都会更改行的颜色,并且所有过去选定的行的颜色保持不变

var tr = document.getElementById("r_row" + r);
for (var c = 0; c < columns; c++) {
    var td = document.createElement("td");
    td.innerText = cellText[c];
    tr.appendChild(td);

    //Makes the rows selectable

    tr.onclick = function(event) {
        selectedItem = this;
        selectedItem.style.background = "#828891";

    }
}
var tr=document.getElementById(“r_行”+r);
对于(var c=0;c
另一种选择是添加一个类,即
selected
,并使用可选择的TR集合检查所选的
TR

var trs=Array.from(document.querySelectorAll('[id^=“r_row”]');
trs.forEach(函数(元素){
元素addEventListener('click',函数(){
trs.forEach(功能(tr){
if(tr!==elem)tr.classList.remove('selected');
});
this.classList.add('selected');
});
});
函数addTRs(ids){
var列=3;
id.forEach(函数(r){
var tr=document.getElementById(“r_行”+r);
对于(var c=0;c
。已选定{
背景色:#828891;
}
tr{
光标:指针
}

不可选择!

另一种选择是添加一个类,即
selected
,并使用可选择的TR集合检查所选的
TR

var trs=Array.from(document.querySelectorAll('[id^=“r_row”]');
trs.forEach(函数(元素){
元素addEventListener('click',函数(){
trs.forEach(功能(tr){
if(tr!==elem)tr.classList.remove('selected');
});
this.classList.add('selected');
});
});
函数addTRs(ids){
var列=3;
id.forEach(函数(r){
var tr=document.getElementById(“r_行”+r);
对于(var c=0;c
。已选定{
背景色:#828891;
}
tr{
光标:指针
}

不可选择!

只是一个提示,给每一行一个唯一的索引,然后单击,查看当前行索引是否有效!=如果是上一行索引,则将其设为红色,并每隔一行设一个默认值(使用循环),而不是使用
style.background=“828891”
use
classList.add('selected')
在本例中,所选的
将是您在css中定义的类。使用未选中的
类创建所有其他
td
实例,您可以使用
document循环它们。GetElementsByCassName()
只是一个提示,给每一行一个唯一的索引,然后单击,查看当前行索引是否!=如果是上一行索引,则将其设为红色,并每隔一行设一个默认值(使用循环),而不是使用
style.background=“828891”
use
classList.add('selected')
在本例中,所选的
将是您在css中定义的类。使用未选中的
类创建所有其他
td
实例,您可以使用
document.getElementsByClassName()