基于JavaScript实现表格逐行变色与全选功能的示例

作者:像素漫游时间:2026-10-22 12:50:19浏览:590

本文介绍一个使用JavaScript控制的表格示例,实现了代码结构干净、样式与结构分离。功能包括表格逐行变色、选中项高亮以及Checkbox的全选与取消操作。页面包含分页标签框架,并经过IE5.01至IE7及Firefox 2、Opera等浏览器的兼容性测试。

表格功能与兼容性说明

优点:


1.代码结构清晰,不包含冗余的HTML标签。


2.实现样式与结构的分离(为便于演示采用内联样式,实际应用中建议通过外部CSS文件引用)。


3.利用JavaScript实现表格行的逐行变色效果。


4.支持对选中行的视觉高亮显示。


5.具备Checkbox的全选与取消全选功能。


6.前端分页标签已预先制作,暂未包含后台处理代码(后续如有时间将补充更新)。


7.兼容性测试覆盖:IE5.01、IE5.5、IE6、IE7、Firefox 2及Opera浏览器。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>友好度良好的表格</title> <style type="text/css"> *{font-family:Tahoma, Arial, Helvetica, Sans-serif,"宋体";} table{     width:700px;     margin:0px auto;     font:Georgia 11px;     font-size:12px;     color:#333333;     text-align:center;     border-collapse:collapse;/*细线表格代码*/ } table td{     border:1px solid #999;/*细线表格线条颜色*/     height:22px; } caption{text-align:center;font-size:12px;font-weight:bold;margin:0 auto;} tr.t1 td {background-color:#fff;}/* 交替行第一行的背景色 */ tr.t2 td {background-color:#eee;}/* 交替行第二行的背景色 */ tr.t3 td {background-color:#ccc;}/* 鼠标经过时的背景色 */ th,tfoot tr td{font-weight:bold;text-align:center;background:#c5c5c5;} th{line-height:30px;height:30px;} tfoot tr td{background:#fff;line-height:26px;height:26px;} thead{border:1px solid #999;} thead tr td{text-align:center;} #page{text-align:center;float:right;} #page a,#page a:visited{width:60px;height:22px;line-height:22px;border:1px black solid;display:block;float:left;margin:0 3px;background:#c9c9c9; text-decoration:none;} #page a:hover{background:#c1c1c1;text-decoration:none;} .grayr {padding:2px;font-size:11px;background:#fff;float:right;} .grayr a {padding:2px 5px;margin:2px;color:#000;text-decoration:none;;border:1px #c0c0c0 solid;} .grayr a:hover {color:#000;border:1px orange solid;} .grayr a:active {color:#000;background: #99ffff} .grayr span.current {padding:2px 5px;font-weight:bold; margin:2px; color: #303030;background:#fff;border:1px orange solid;} .grayr span.disabled {padding:2px 5px;margin:2px;color:#797979;background: #c1c1c1;border:1px #c1c1c1 solid;} </style>  </head> <body> <table> <caption>友好度良好的表格</caption> <thead>  <tr> <th><input onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" type="checkbox" value="" name="test" title="全选/取消"/></th> <th>姓名</th> <th>性别</th> <th>年龄</th> <th>生日</th> <th>住址</th> <th>电话</th> <th>电邮</th> <th>网址</th> </tr> </thead>  <tbody id="tab"> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> <tr> <td><input type="checkbox" value="a" name="test"/> </td> <td>张大全</td> <td>男</td> <td>35</td> <td>1971/10/23</td> <td>深圳南山</td> <td>13612345678</td> <td>szzdc@163.com</td> <td>http://www.zdc.com</td> </tr> </tbody>  <tfoot> <tr> <td><input onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" type="checkbox" value="" name="test" title="全选/取消"/></td> <td colspan="8"> <div class="grayr"><span class="disabled"> &lt; </span><span class="current">1</span>234567...199200 &gt; </div> <!-- <div id="page"> 首 页上一页下一页末 页</div>--> </td> </tr> </tfoot> </table>  </body> </html>

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

作者最新文章