本文介绍一个使用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"> < </span><span class="current">1</span>234567...199200 > </div> <!-- <div id="page"> 首 页上一页下一页末 页</div>--> </td> </tr> </tfoot> </table> </body> </html>[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]