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

效果图:

/*两个方法

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>

利用javascript动态创建表格的更多相关文章

  1. javascript动态创建表格:新增、删除行和列

    转载:http://www.cnblogs.com/pato/archive/2009/09/02/1559068.html 利用js来动态创建表格有两种格式,appendChild()和insert ...

  2. javascript 动态创建表格

    <html> <head> <script> function createTable(rows,lines){ this.rows=rows; this.line ...

  3. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  4. jquery利用appendTo动态创建元素

    动态创建元素可以说是DOM中常做的事情,下面我来介绍在jquery中利用appendTo来动态创建元素,有需要的朋友可参考参考. 当HTML字符串是没有属性的元素是, 内部使用document.cre ...

  5. js动态创建表格,删除行列的小例子

    js动态创建表格,删除行列的实例代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  6. javascript动态添加表格以及获取数据

    <script type="text/javascript"> var dict = { '百度': 'http://wwww.baidu.com', '新浪': 'h ...

  7. JavaScript动态改变表格单元格内容的方法

    本文实例讲述了JavaScript动态改变表格单元格内容的方法.分享给大家供大家参考.具体如下: JavaScript动态改变表格单元格的内容,下面的代码通过修改单元格的innerHTML来修改单元格 ...

  8. FineUIMvc随笔 - 动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户需求 用户希望实现动态创建表格列,在 WebForms 中,我们通过在 Page_Init 中创建列来实现: 但是在 MVC ...

  9. FineUIMvc随笔(1)动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...

随机推荐

  1. POJ 3041 Asteroids 二分图

    原题连接:http://poj.org/problem?id=3041 Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  2. ssm框架 spring的主配置文件 spring-mvc主配置文件 web.xml配置文件(基础的配置文件)

    1.spring主配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  3. win7阻止iis开机启动

    https://zhidao.baidu.com/question/111234812.html 1.在"开始/运行/" 输入"services.msc" 启动 ...

  4. Linux中的热键[Tab] [Ctrl]-c [Ctrl]-d

    Tab键:命令或者文件补全.可以避免很多的输入错误 1. 按一次,文件或命令补全 2. 按两次,会列举出以按键前的字母为首的所有命令或者文件 Ctrl+C:中断目前程序 Ctrl+D:键盘输入结束.可 ...

  5. git pull出现fatal: unable to access 'https://github.com/XXX/YYY.git'

    用cmd 发现ping不同 github.com Ping不通,这时候,只需要在host文件里做些修改就可以,首先,定位到路径 C:\Windows\System32\drivers\etc 找到ho ...

  6. 以面试官的角度看strcpy函数

    一:笔试或者面试的总结 之 一 (1)在笔试或者面试中常常会被问道,strcpy  memmove memcpy 函数的实现.有时也会问你STL 中string的 split 和 trim的实现.有的 ...

  7. Webduino Smart 从入门到起飞

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 试用了一下,感觉这板子+WebduinoBlockly在线开发环境,下限低.上限也低,以后肯定要刷其他固件的.举个简单的例子,WB ...

  8. LattePanda 项目之 P2.2 起飞条件检测系统(CLI & GUI)

    前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnblog ...

  9. Hibernate中的session和load延迟载入矛盾问题,怎样解决?

    假设延迟载入出现session close的情况下 方法1.在web.xml中配置spring的openSessionInViewFilter <filter>  <filter-n ...

  10. 搭建spark中需要注意的问题

    在搭建spark的过程中遇到了许多的问题,但是引起这些问题的原因都是因为环境变量没有设置好导致的,这里总结的一些优秀的博文,可以供以后参考 http://www.powerxing.com/insta ...