Javascript 如何通过仅更改父类来更改子类?

Javascript 如何通过仅更改父类来更改子类?,javascript,html,css,Javascript,Html,Css,我有一个带有黑白单元格的表格,我想创建一个按钮来改变单元格的颜色 我已经用for循环完成了 现在,我不想使用下面的函数。是否可以仅更改整个表的类别atribute以更改所有td标签的类别 函数转换器(){ var cells=document.getElementsByTagName('td'); 对于(变量i=0;i

我有一个带有黑白单元格的表格,我想创建一个按钮来改变单元格的颜色

我已经用for循环完成了

现在,我不想使用下面的函数。是否可以仅更改整个表的类别atribute以更改所有td标签的类别

函数转换器(){
var cells=document.getElementsByTagName('td');
对于(变量i=0;i
如果只想更改单元格的颜色,可以切换
表的类别,然后在单元格上使用CSS选择器,如下所示:

.table-dark td { background-color: #000; }
.table-light td { background-color: #fff; }

不要使用for循环,试着在table元素上切换
invert
类名。然后相应地调整css,如下面的代码段所示:

功能cSwap(单元){
如果(cell.className==“t”)
cell.className=“t2”;
else if(cell.className==“t2”)
cell.className=“t”;
}
函数tableCreate(n){
var body=document.getElementsByTagName('body')[0];
var tbl=document.createElement('table');
tbl.setAttribute('onclick','cSwap(event.target)');
tbl.setAttribute('id','myTable');
对于(变量i=0;i
td{
边框:1px纯黑;
边界塌陷:塌陷;
填充:28px;
}
t{
背景:白色
}
.t2{
背景:黑色
}
.invert.t{
背景:黑色
}
.倒转t2{
背景:白色
}

是的,您可能只需要为
创建一个css类,并使用一个函数在表中切换该类

以下是css的定义方式:

.myTable td{
  background: gray;
}
这是在表中切换的JS函数:

function toggleClass(){
    var table = document.querySelector("table");
    if(table.className !== "myTable"){
                table.className = "myTable";
    }else{
            table.className = '';
    }
}
演示:

这是一个:

功能cSwap(单元){
如果(cell.className==“t”)
cell.className=“t2”;
else if(cell.className==“t2”)
cell.className=“t”;
}
函数tableCreate(n){
var body=document.getElementsByTagName('body')[0];
var tbl=document.createElement('table');
tbl.setAttribute('onclick','cSwap(event.target)');
对于(变量i=0;i
td{
边框:1px纯黑;
边界塌陷:塌陷;
填充:28px;
}
t{
背景:白色
}
.t2{
背景:黑色
}
.myTable td{
背景:灰色;
}

function toggleClass(){
    var table = document.querySelector("table");
    if(table.className !== "myTable"){
                table.className = "myTable";
    }else{
            table.className = '';
    }
}