javascript - onclick td元素,只有这一个会改变

标签 javascript events onclick html-table

我对 onclick 事件有疑问。 我有一个 3*3 的表格,当我单击 td 元素时,我只想更改此元素。 代码:

var CaseID = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9);
var table = document.createElement("table");
for (a = 0; a < 3; a++) {
    var tr = document.createElement("tr");
    for (b = 0; b < 3; b++) {
        var td = document.createElement("td");
        
        td.onclick = function() {
    // here I want to change backgroundColor into red, but only for the one I pressed
        };
        
        tr.appendChild(td);
    }
    table.appendChild(tr);
}
document.body.appendChild(table);

for (c = 0; c < CaseID.length; c++) {
    document.getElementsByTagName("td")[c].id = CaseID[c];
}
table {
  border-collapse:collapse;
}

tr, td {
  height:50px;
  width:50px;
  border:1px #000 solid;
}

最佳答案

您可以只设置其样式属性的bac​​kgroundColor,如下所示。在该 onclick 函数中,this 引用该元素。

var CaseID = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9);
var table = document.createElement("table");
for (a = 0; a < 3; a++) {
    var tr = document.createElement("tr");
    for (b = 0; b < 3; b++) {
        var td = document.createElement("td");
        
        td.onclick = function() {
            this.style.backgroundColor = 'red';
        };
        
        tr.appendChild(td);
    }
    table.appendChild(tr);
}
document.body.appendChild(table);

for (c = 0; c < CaseID.length; c++) {
    document.getElementsByTagName("td")[c].id = CaseID[c];
}
table {
  border-collapse:collapse;
}

tr, td {
  height:50px;
  width:50px;
  border:1px #000 solid;
}

关于javascript - onclick td元素,只有这一个会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785021/

相关文章:

javascript,html onclick更改变量

android - 如何为 fragment 设置 onClick 监听器?

javascript - SAP UI 5中如何选择所有输入类型

java - 上下文之间的Spring通信

javascript - 通过单击按钮写入表单

javascript - 在ReactJS中捕获 'escape'按键

javascript - 禁用某些键的默认操作

javascript - ReactJS onClick 不起作用 - 浏览器和系统控制台中没有任何反应

javascript - 如何在剑道 ListView 中更改数据源

javascript - 同时从 2 个选择框中删除相同的选项