您的位置:首页 > Web前端 > JavaScript

利用javascript动态创建表格

2014-02-23 11:48 260 查看
//说明:实现功能、原理上文相同。不过这次是利用已有的简单的方法创建行和列,并实现内容行鼠标移入变色功能!

效果图:



/*两个方法

1、 trNode table.insertRow(-1) 利用已创建的表格对象创建一行,返回值为该行的dom对象

2 tdNode trNode.insertCell(-1) 利用已经创建的行对象创建一列,返回值为该列的dom对象

*/

//实现代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>动态创建表格</title>

<meta http-equiv="content-type" content="text/html;charset=gb2312">

<style type="text/css">

caption {

padding: 0 0 5px 0;

width: 450px;

font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;

text-align: right;

}

td {

border:1px solid #c1dad7;

padding: 6px 6px 6px 12px;

color: #4f6b72;

text-align: center;

width:150px;

}

.thead{

background-color:#cae8ea;

}

</style>

<script type="text/javascript">

onload=function(){

var jsons=[{name:"andy",age:20,gender:"male"},{name:"xiao",age:23,gender:"female"}];//json数组

var table=document.createElement('table');//创建表

var caption=document.createElement('caption');//创建标题

caption.innerHTML='学生信息表';//设置标题的内容

table.appendChild(caption);//将标题加入table

var tHead=table.insertRow(-1);//创建首行

for(var tHeadContent in jsons[0]){//循环遍历json数组中的第一值,获取每个json对象的键名

tHead.insertCell(-1).innerHTML=tHeadContent;

}

tHead.className='thead';//设置第一行(即列名所在行)所引用的样式名称

for(var i=0;i<jsons.length;i++){//循环遍历json数组

var tr=table.insertRow(-1);//创建一行

for(var item in jsons[i]){

var td=tr.insertCell(-1);//每循环一次就创建创建一列

td.innerHTML=jsons[i][item];//设置该列的列值

}

tr.onmouseover=function(){//为每行添加鼠标移入事件

this.style.backgroundColor='#8aeebb';

};

tr.onmouseout=function(){//为每行添加鼠标离开事件

this.style.backgroundColor="";

};

}

var body=document.getElementsByTagName('body')[0];//获取body对象

body.appendChild(table);//将table数组加入到body中

}

</script>

</head>

<body>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: