Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置表格的样式,以便表格中的特定框在单击时更改颜色?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何设置表格的样式,以便表格中的特定框在单击时更改颜色?

Javascript 如何设置表格的样式,以便表格中的特定框在单击时更改颜色?,javascript,html,css,Javascript,Html,Css,当我单击此表中的元素时,如何使其颜色从背景色更改为红色并恢复为默认颜色 <table align="center" style="height: 355px;" width="664" border="3px"> <tbody> <tr> <td style="width: 94px;">25</td> <td style="width: 94px;">26</td>

当我单击此表中的元素时,如何使其颜色从背景色更改为红色并恢复为默认颜色

<table align="center" style="height: 355px;" width="664" border="3px">
  <tbody>
    <tr>
      <td style="width: 94px;">25</td>
      <td style="width: 94px;">26</td>
      <td style="width: 95px;">27</td>
      <td style="width: 95px;">28</td>
      <td style="width: 95px;">29</td>
      <td style="width: 95px;">30</td>
      <td style="width: 95px;">&nbsp;</td>
    </tr>
  </tbody>
</table>

25
26
27
28
29
30

将onclick侦听器添加到所需的元素中(我假设您正在动态生成单元格)

在css中:

.redBg{
  background-color:red;
}

您可以根据需要附加和删除这些类,从而使用它们。你也可以通过这个改变更多的风格

$(文档).ready(函数(){
$('table tbody tr td')。在('click',changeColor');
});
函数changeColor(){
如果(!this.classList.contains('first')){
this.classList.add('first');
this.classList.remove('second');
}否则{
this.classList.remove('first');
this.classList.add('second');
}
}
。首先{
背景:红色;
}
.第二{
背景:蓝色;
}

25
26
27
28
29
30

您应该输入类似于
数据color=true的内容,然后只为它们指定颜色更改

var td=document.getElementsByTagName(“td”),
len=td.长度,
我
函数changeColor(){
var color=this.style.background!=“红色”;
this.style.background=(颜色?“红色”:“首字母”);
}
对于(i=0;i只需与

document.querySelectorAll('tr td').forEach(函数(a){
a、 addEventListener('单击',函数()){
this.classList.toggle('color'))
})
})
.color{
背景色:红色;
}

25
26
27
28
29
30

这将适用于所有框,OP要求特定框。这将适用于所有框,OP要求特定框,而且您可以只使用toggleClass属性,而不是进入条件。这是真的,我只是尽量让代码尽可能简单。这样他就可以理解代码。
function changeColor(elt){
  $elt = $(elt);
  $elt.toggleClass("redBg");
}
.redBg{
  background-color:red;
}