html and js 的隔行换背景色表格实例详解
2015-05-29 09:28
706 查看
效果:
码码:
代码解释:
在两个css样式 oddrowcolor,evenrowcolor中定义不同的背景色;
在js函数中获取行的集合;
var table = document.getElementById(id);
var rows = table.getElementsByTagName("tr");
第一句根据id获取table,第二句获取所有行(tr)的集合;
getElementById和getElementsByTagName的区别是:前者根据id返回单个对象;后者根据标签返回对象,具有相同标签的对象都会被返回;
在for循环中访问每一行,奇数行赋予css类oddrowcolor, evenrowcolor;赋予了不同的css类之后其背景色就变了。
码码:
<!DOCTYPE html> <html> <head> <!-- CSS goes in the document HEAD or added to your external stylesheet --> <style type="text/css"> table.altrowstable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border-color: #a9c6c9; border-collapse: collapse; } table.altrowstable th { border-width: 1px; padding: 8px; border-style: solid; border-color: #a9c6c9; } table.altrowstable td { border-width: 1px; padding: 8px; border-style: solid; border-color: #a9c6c9; } .oddrowcolor{ background-color:#d4e3e5; } .evenrowcolor{ background-color:#c3dde0; } </style> <!-- Javascript goes in the document HEAD --> <script type="text/javascript"> function altRows(id){ if(document.getElementsByTagName){ var table = document.getElementById(id); var rows = table.getElementsByTagName("tr"); for(i = 0; i < rows.length; i++){ if(i % 2 == 0){ rows[i].className = "evenrowcolor"; }else{ rows[i].className = "oddrowcolor"; } } } } window.onload=function(){ altRows('alternatecolor'); } </script> </head> <body> <!-- Table goes in the document BODY --> <table class="altrowstable" id="alternatecolor"> <tr> <th>Info Header 1</th><th>Info Header 2</th><th>Info Header 3</th> </tr> <tr> <td>Text 1A</td><td>Text 1B</td><td>Text 1C</td> </tr> <tr> <td>Text 2A</td><td>Text 2B</td><td>Text 2C</td> </tr> </tr> <tr> <td>Text 3A</td><td>Text 3B</td><td>Text 3C</td> </tr> <tr> <td>Text 4A</td><td>Text 4B</td><td>Text 4C</td> </tr> <tr> <td>Text 5A</td><td>Text 5B</td><td>Text 5C</td> </tr> </table> <!-- The table code can be found here: http://www.textfixer/resources/css-tables.php#css-table03 --> </body> </html>
代码解释:
在两个css样式 oddrowcolor,evenrowcolor中定义不同的背景色;
在js函数中获取行的集合;
var table = document.getElementById(id);
var rows = table.getElementsByTagName("tr");
第一句根据id获取table,第二句获取所有行(tr)的集合;
getElementById和getElementsByTagName的区别是:前者根据id返回单个对象;后者根据标签返回对象,具有相同标签的对象都会被返回;
在for循环中访问每一行,奇数行赋予css类oddrowcolor, evenrowcolor;赋予了不同的css类之后其背景色就变了。
相关文章推荐
- 使用js如何判断IE浏览器的位数
- GSON解析json
- wx jssdk
- JavaScript初学者应注意的七个细节
- 高性能JavaScript(您值得一看)
- js跳出多重循环及$.each跳出多重循环
- javascript 校验
- js addEventListener如何给触发,事件动态传参与添加/删除
- 【JS】DOM事件模型
- Javascript原型链和原型的一个误区
- javascript传递方法 和 传递带括号的方法区别
- js正则表达式替换空格
- isMobile 一个简单的JS库,用来检测移动设备
- 在不知道json格式的情况下如何使用cjson进行解析
- js json 实现方式
- Emberjs
- Emberjs 2
- js 数组操作
- json
- 4个好用的JS联动选择插件