刚刚不知道怎么回事,CSDN博客一直打不开,就在博客园完毕了今天的记录,结果临关机,登录了下。发现又好了,就再多花个几分钟转下吧,也无论到底在意的是什么了,权当强迫症了...

前几天记录了动态的加入一行一列:insertRow()和insertCell();动态的删除一行一列:deleteRow()和deleteCell();选中一行:this的參数传递,这些都是实现的关键,可是这一切都建立在一个基础上:那就是存在一个表格。今天就来记录下动态建立表格的方法:

其实在刚開始的时候。我仅仅想到了一个方法,尽管到最后发现这种方法确实还是比較简单的,就像是动态加入行和列一样,整合起来不就是一个表格了么:

来看一下编写的代码,同一时候还发现了它的生成方式:(这里在html页面上留了一个tableTest的div)

1 window.onload=function createTable1() {
2 var table = document.createElement('table');
3 for (var i = 0; i < 4; i++) {
4 var row = table.insertRow();
5 for (var j = 0; j < 2; j++) {
6 var cell = row.insertCell();
7 cell.innerHTML = "这里是"+i +"行" +',' + j+"列";
8 }
9 }
10 document.getElementById('tableTest').appendChild(table);
11 table.setAttribute('border', '1');
12 }

这样来看一下生成的效果:

这里可看到了吧,他是从下向上生成的行,从右向左生成的列。也就意味着。插入一行之后。再进行插入的话,是在其上方插入行,在左边插入列,后来从网上搜索了之后,原来还有好多方法,当然各种应用各有千秋。这里简单写一下其他两种方式:

1、生成元素

看代码的生成步骤:

 1  window.onload=function createTable2() {
2 var table = document.createElement('table');
3 var tbody = document.createElement('tbody');
4 for (var i = 0; i < 4; i++) {
5 var tr = document.createElement('tr');
6 for (var j = 0; j < 2; j++) {
7 var td = document.createElement('td');
8 var inner = document.createTextNode("这个是"+i +"行"+ ',' + j+"列");
9 td.appendChild(inner);
10 tr.appendChild(td);
11 }
12 tbody.appendChild(tr);
13 }
14 table.appendChild(tbody);
15 document.getElementById('tableTest').appendChild(table);
16 table.setAttribute('border', '1');
17 }

这样再来看一下效果的话:

这个就是从上到下,从左到右的生成了吧。这个的话尽管理解上简单,可是写法上也比較麻烦呢。

2、数组编辑(拼接html语言)

看代码的实现步骤:

1 window.onload= function createTable4() {
2 var arr = new Array();
3 arr.push('<table border=1><tbody>');
4 for (var i = 0; i < 4; i++) {
5 arr.push('<tr>');
6 for (var j = 0; j < 3; j++) {
7 arr.push('<td>' +"这里是"+ i +"行"+ ',' + j +"列"+ '</td>');
8 }
9 arr.push('</tr>');
10 }
11 arr.push('</tbody><table>');
12
13 document.getElementById('tableTest').innerHTML = arr.join('');
14 }

这时候来看效果的话:

这个理解起来就更简单了,就算是把Array改成字符串拼接的话。我们可能理解的更清晰些,就跟在html语言里面加入一样吧,这样写起来最easy理解,可是确实有些啰嗦了。

其实看到代码的时候。确实自己就能明确该怎样是怎么实现的加入。可是最開始想到动态加入的时候,却仅仅想到了近期在研究的方法,就有点不周全了。今天開始补牙。还是有点害怕补牙啊,感觉好恐怖....

这花了三分钟再把博客园上写好的转到这里来,是一种执念么,还是一种矫情。哎,睡觉。天有些晚了...

js动态创建表格------Day59的更多相关文章

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

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

  2. js动态创建表格

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  3. js动态创建表格方法

    window.onload = function(){ var table = document.createElement('table'); table.border = 1; table.wid ...

  4. js 动态生成表格案例

    <1>布局:一个table表格,表格分为两个部分,上面是thead表头,表头里面仅一行,有4列(th),   下面是tbody表格内容,要求tbody中的每一行都是用js动态创建的 < ...

  5. js/jq动态创建表格的行与列

    之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...

  6. js如何动态创建表格(两种方法)

    js如何动态创建表格(两种方法) 一.总结 一句话总结: 1.方法一:写好创建表格的html代码,将之赋值给div的innerHTML. 2.方法二.直接用创建好的table元素的方法insertRo ...

  7. 第84天:jQuery动态创建表格

    jQuery动态创建表格 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  8. jquery动态创建表格

    1.代码实例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

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

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

随机推荐

  1. Mock实现模拟python的对象

    Mock库的应用 Mock在Python3.3之前是第三方库,需要安装 pip install Mock :导入 import mock Mock在Python3.3之后是Python标准库,导入方式 ...

  2. office 2010 破解

    使用Rearm命令激活延迟重置Office 20101.安装Offcie 2010 安装Offcie 2010,默认30天的试用期,这里要注意,上文提供的Office 2010是零售版,所以没有序列号 ...

  3. Hibernate多表查询、查询优化策略(四)

    多表HQL private static void innerJoin(){ //sql内连接 隐式内连接 select * from A,B where b.aid = a.id // 显示内连接 ...

  4. [hihocoder][Offer收割]编程练习赛50

    循环数组 计算a[i]的前缀和s[i],计算l[i]为1~i-1中最小的s值,r[i]为i~n中最大的s值. 则a[i]~a[n]满足性质的条件为r[i]-s[i-1]>0,a[1]~a[i-1 ...

  5. (转)Vue 爬坑之路(二)—— 组件之间的数据传递

    Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,com ...

  6. 基于CXF搭建webService

    1.导入相关jar包,具体哪些包我记不太清了 2.在applicationContext中加入相关配置信息,如下所示: <beans xmlns="http://www.springf ...

  7. DeltaFish 校园物资共享平台 第二次小组会议

    软工第二周小组会议 会议地点:三教讨论区 会议时间:9:00 ~ 10:00 与会人员:软工小组成员 请假人员:刘鼎乾 整理人:艾寅中 会议记录 一.小组分工 在经过一周的调研后,组长根据调研结果和对 ...

  8. vs2017 创建项目推送到Git上

    地址 在从本地往云上推送的时候遇到了这样的问题 将分支推送到远程存储库时遇到错误: rejected Updates were rejected because the remote contains ...

  9. AI:模式识别的数学表示(集合—函数观点)

    前言: 模式识别的定义,参考:模式识别两种方法:知识和数据 .百科定义:模式识别(英语:Pattern Recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读.我们把环境与客 ...

  10. jquery的attr和prop

    注意不同版本的attr和prop,attr适用于自定义dom值,prop适用于带有固有属性