点击改行table中的tr则变为红色其他变为白色

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>演示文档</title>
<script type="text/javascript">
 function initEvent(){
  var tableMain = document.getElementById("tableMain");
  var trs = tableMain.getElementsByTagName("tr");
  for(var i = 0;i<trs.length;i++){
   var tr=trs[i];
   tr.onclick = trOnClick;
   tr.style.cursor = "pointer";
  }
  
 }
 function trOnClick(){
  var tableMain = document.getElementById("tableMain");
  var trs = tableMain.getElementsByTagName("tr");
  for(var i = 0;i<trs.length;i++){
   var tr=trs[i];
   if(tr == this){
    tr.style.background="red";
   }else{
    tr.style.background="white";
   } 
  }
 }
</script>
</head>
<body οnlοad="initEvent()">
<table id="tableMain">
 <tr><td>百度</td><td>baidu</td></tr>
 <tr><td>谷歌</td><td>google</td></tr>
 <tr><td>搜搜</td><td>soso</td></tr>
 <tr><td>有道</td><td>youdao</td></tr>
</table>


</body>
</html>

可以使用以下代码实现: HTML: ```html <table id="myTable"> <thead> <tr> <th>姓名</th> <th>语文</th> <th>数学</th> <th>英语</th> <th>总分</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>90</td> <td>80</td> <td>70</td> <td></td> </tr> <tr> <td>李四</td> <td>85</td> <td>75</td> <td>65</td> <td></td> </tr> <tr> <td>王五</td> <td>95</td> <td>85</td> <td>75</td> <td></td> </tr> </tbody> </table> ``` CSS: ```css table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid #ddd; text-align: center; padding: 8px; } th { background-color: #f2f2f2; } tr:nth-child(odd) { background-color: #f9a7b0; color: #fff; } tr:nth-child(even) { background-color: #a7c2f9; color: #fff; } ``` JavaScript: ```javascript var table = document.getElementById("myTable"); var rows = table.getElementsByTagName("tr"); for (var i = 1; i < rows.length; i++) { rows[i].onclick = function() { var scoreCells = this.getElementsByTagName("td"); var totalScore = 0; for (var j = 1; j < scoreCells.length - 1; j++) { totalScore += parseInt(scoreCells[j].innerHTML); } if (this.style.backgroundColor === "" || this.style.backgroundColor === "rgb(255, 255, 255)") { this.style.backgroundColor = "rgb(0, 0, 255)"; this.style.color = "#fff"; } else { this.style.backgroundColor = ""; this.style.color = ""; } scoreCells[scoreCells.length - 1].innerHTML = totalScore; } } ``` 这段代码会为表格的每一行添加点击事件,当点击某一行时,会计算该行除第一列和最后一列外的单元格的总分,并将总分显示在该行的最后一列。同时,如果该行为奇数行,则将背景色设置为蓝色,字体颜色设置白色;如果该行为偶数行,则将背景色设置红色,再次点击则取消背景色和字体颜色的设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值