DOM设置表格隔行变色js代码及鼠标悬停在哪行,哪行字体就加粗效果

简介:
1
2
3
4
5
6
7
8
/* 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 ;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!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 >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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);

浏览器效果如下:

wKioL1dIE0PjIDztAAA3Ny1YBWM966.png-wh_50

本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1783882

相关文章
|
25天前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
11天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
13天前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
30 3
原生js炫酷随机抽奖中奖效果代码
|
12天前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
17天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
174 4
|
19天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
69 6
|
15天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
45 1
|
JavaScript 前端开发
JavaScript制作表格隔行变色效果(新浪微博中的应用)
JavaScript制作表格隔行变色效果(新浪微博中的应用)
JavaScript制作表格隔行变色效果(新浪微博中的应用)
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
95 2