/* p#example{color:grey; font:18px ‘Arial‘,sans-serif;}*/ body{ font-family:"Helvetica","Arial",sans-serif; background:#fff; color:#000} table{ margin:auto; border:solid 1px #699; text-align:center; width:600px;} caption{ margin:auto; padding:10px; font-weight:bold;} th{background:#9cc;font-weight:normal; padding:5px; border:1px dotted #699;height:40px; } /* tr:nth-child(odd){ background:#ffc;} tr:nth-child(even){background:#fff;} 隔行变色*/ td{height:40px;}
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CSS-DOM</title> <script src="addLoadEvent.js"></script> <link rel="stylesheet" type="text/css" href="9.3.2.css" > <script src="9.3.2.js"></script> </head> <body> <table> <caption>Itinerary</caption> <thead> <tr> <th>when</th> <th>where</th> </tr> </thead> <tbody> <tr> <td>June 9th</td> <td>Portland.<abbr title="Oregon">OR</abbr></td> </tr> <tr> <td>June 10th</td> <td>seattle,<abbr title="Washington">WA</abbr></td> </tr> <tr> <td>June 12th</td> <td>Sacramento,<abbr title="California">CA</abbr></td> </tr> </tbody> </body> </html>
function addLoadEvent(func){ //不管在页面加载完毕执行多少个函数,都应付自如 var oldonload = window.onload; if(typeof window.onload != ‘function‘){ window.onload = func; }else{ window.onload = function(){ oldonload(); func(); } } } function stipeTables(){ if(!document.getElementsByTagName) return false; var tables = document.getElementsByTagName("table"); var odd,rows; for(var i = 0; i < tables.length; i++){ odd = false; rows = tables[i].getElementsByTagName("tr"); for(var j = 0; j < rows.length; j++){ if(odd == true){ rows[j].style.backgroundColor = "#ffc"; odd = false; }else{ odd = true;} } } } function displayAbbreviations(){ //检查兼容性 if(!document.getElementsByTagName||!document.createElement||!document.createTextNode) return false; var abbreviations = document.getElementsByTagName("abbr"); //取得所有缩略词 if(abbreviations.length < 1) false; //兼容ie6及以下低版本浏览器,使得循环继续 var defs = new Array(); for(var i=0; i < abbreviations.length; i++){ //遍历这些缩略词 var current_abbr = abbreviations[i]; var definition = current_abbr.getAttribute("title"); var key = current_abbr.lastChild.nodeValue; defs[key] = definition; } var dlist = document.createElement("dl"); //创建定义列表 for( key in defs){ //遍历定义 var definition = defs[key]; var dtitle = document.createElement("dt"); //创建定义标题 var dtitle_text = document.createTextNode(key); dtitle.appendChild(dtitle_text); var ddesc = document.createElement("dd"); //创建定义描述 var ddesc_text = document.createTextNode(definition); ddesc.appendChild(ddesc_text); //把它们添加到定义列表 dlist.appendChild(dtitle); dlist.appendChild(ddesc); } /* if(dlist.childNodes.length < 1) return false; //在低版本浏览器下,因为defs数组是空的,所以一个个立刻退出displayAbbreviations函数 */ var header = document.createElement("h2"); //创建标题 var header_text = document.createTextNode("Abbreviations"); header.appendChild(header_text); document.body.appendChild(header); //把标题添加到页面主体 document.body.appendChild(dlist); //把定义列表添加到主体 } addLoadEvent(stipeTables); addLoadEvent(displayAbbreviations); //鼠标移到某行,该行文本加粗,效果等同于tr:hover{font-weight:bold;} function highlightRows(){ if(!document.getElementsByTagName) return false; var rows = document.getElementsByTagName("tr"); for(var i = 0; i < rows.length; i++){ rows[i].onmouseover = function(){ this.style.fontWeight = "bold"; } rows[i].onmouseout = function(){ this.style.fontWeight = "normal"; } } } addLoadEvent(highlightRows);
浏览器效果如下:
DOM设置表格隔行变色js代码及鼠标悬停在哪行,哪行字体就加粗效果
原文地址:http://xuyran.blog.51cto.com/11641754/1783882