//创建表格
var tableOptions = {
way: "insertBefore", //insertBefore,append
positionId: "domTest", //定位元素节点的ID
tableId: "my-table",
rows: 2,
cols: 8,
data: [
['四川', '宁夏', '西藏', '北京', '上海', '台湾', '福建', '河北'],
['陕西', '天津', '山东', '江苏', '湖北', '广东', '湖南', '江西']
], //二维数组
border: 1,
textAlign: 'center',
fontFamily: "华文细黑",
}; function createTable(tableOptions) { /******************************************************************/
//检验参数合法性
var check = function() {
if ( /*arguments.length != 1 || */ (typeof(arguments) != 'object')) {
//console.log('test arguments ' + arguments);
//console.log('test tableOptions ' + tableOptions.cols);
console.log("arguments.length " + arguments.length);
console.log("typeof(arguments) " + typeof(arguments));
throw new Error("参数不合法!");
} //检查data与rows,cols的一致性
if (tableOptions.data) { //如果data不为空
if (tableOptions.data[0].length != tableOptions.cols) { //列不同
throw new Error("data的列数与cols不一致!");
}
if (tableOptions.data.length != tableOptions.rows) { //行不同
throw new Error("data的行数与rows不一致!");
}
}
}; //初始化table
var initTable = function() {
table = document.createElement("table"); //创建table //配置table初始化样式
table.id = tableOptions.tableId || "table";
table.border = tableOptions.border || 1;
table.width = "100%";
table.style.textAlign = tableOptions.textAlign || "center";
table.style.fontFamily = tableOptions.fontFamily || "华文细黑"; //创建tbody
tbody = document.createElement("tbody");
table.appendChild(tbody);
} //创建表格并初始化表格内容
var createTableContents = function(tbody, data, positionId, way) {
//将data的元素逆置
// data.sort( function(a,b){ return a - b; });
for(var k = 0; k < data.length; k++){
data[k].reverse();
} for (var i = 0; i < data.length; i++) {
tbody.insertRow(i); //创建行并插入i行
for (var j = 0; j < data[i].length; j++) {
tbody.rows[i].insertCell(j); //插入在i行j列
tbody.rows[i].cells[j].insertBefore(document.createTextNode(data[i][j]),null);
// tbody.rows[i].cells[j].appendChild(document.createTextNode("Cell " + i + " , " + j));//方法2
}
} //插入文档节点中
var positionElement = document.getElementById(positionId); if((way == "append") || (way == null)){
console.log('test:insert way: append');
positionElement.appendChild(table);
}
else if(way == "insertBefore"){
console.log('test:insert way: insertBefore');
positionElement.insertBefore(table,null);
}
/*注释:
1.null:插入成为最后一个节点
2.node.first:插入成为第一个节点
3.node.last:插入到最后一个节点前面
*/
};
/***************************************************************/ check(); var table = null;
var tbody = null;
initTable(); createTableContents(tbody, tableOptions.data,tableOptions.positionId,tableOptions.way);
}

JavaScript之表格操作(二)创建表格病填充表格数据的更多相关文章

  1. Laravel --- artisan创建表以及填充表数据流程总结

    1.创建建表文件 php artisan make:migration create_comments_table 打开database/migrations/xxx_create_comments_ ...

  2. javascript的DOM操作(二)

    <html> <title>学习DOM</title> <a id="wen">文本</a> <input nam ...

  3. dojo表格操作的简单示例(建立表格)

    代码示例: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  4. javascript的常用操作(二)

    Undefined 不是 Null 在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法. 对象只有被定义才有可能为 null,否则为 undefined. ...

  5. (转载)EF 使用code first模式创建数据库和 填充种子数据

    第一篇:来自 .net 开发菜鸟 博主的文章:https://www.cnblogs.com/dotnet261010/p/8035213.html 第二篇:来自 JustYong 博主的文章:htt ...

  6. 第一百一十五节,JavaScript,DOM操作表格

    JavaScript,DOM操作表格 学习要点: 1.操作表格 DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DO ...

  7. MySQL 基础二 创建表格

    1.界面创建 2.SQL创建 教程地址:http://blog.csdn.net/brucexia/article/details/53738596 提供学习视频下载 链接:http://pan.ba ...

  8. .Net Core NOPI操作word(二) 表格操作

    一.创建表格操作 private void btnExport_Click(object sender, EventArgs e) { var dbcontext = new BlogModel(); ...

  9. 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用

    这章本来准备写成jQuery的表单操作和表格操作的. 然而昨天吧jQuery的表单操作看完,发现全部在炒之前章节的剩饭,所以就没写出来. 那么今天就来看看表格吧. 因为平常做的都是公司的内部管理系统, ...

随机推荐

  1. 在Delphi中调用"数据链接属性"对话框设置ConnectionString

    项目需要使用"数据链接属性"对话框来设置ConnectionString,查阅了一些资料,解决办法如下: 1.Delphi 在Delphi中比较简单,步骤如下: 方法1: use ...

  2. Delphi导出数据的多种方法

    //Dxdbgrid,则直接用SaveToexcel即可//使用 ExcelWithOdbc 控件function TDataModule1.GetDataToFile(DsData: TObject ...

  3. maven dependcymanage作用在父类里面定义依赖包 子类不会自动继承需要主动使用 这样解决了父类引用任意包 子类就会引用的问题

    maven dependcymanage作用在父类里面定义依赖包 子类不会自动继承需要主动使用 这样解决了父类引用任意包 子类就会引用的问题  子类在引用时候 不需要加上版本号

  4. 一本通1536数星星 Stars

    1536:[例 2]数星星 Stars 时间限制: 256 ms         内存限制: 65536 KB [题目描述] 原题来自:Ural 1028 天空中有一些星星,这些星星都在不同的位置,每 ...

  5. hdu 3727 Jewel (可持久化线段树+bit)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=3727 题意: 对一段序列进行四种操作: Insert x :在序列尾部插入一个x: Query_1 s ...

  6. day8 笔记

    文件操作的最简单步骤open():打开文件,将句柄赋值给一个变量 read()write()等:操作文件 close():关闭文件,一定要关闭文件 ps:python会帮助你保存数据关闭文件,但是要在 ...

  7. CentOS 显示历史执行过的命令以及用户历史命令缓存文件

    1.history命令用于显示历史执行过的命令 执行 history命令能显示出当前用户在本地计算机中执行过的最近 1000 条命令记录. 如果觉得 1000 不够用,还可以自定义/etc/profi ...

  8. 值得Python小白学习的书 简单推荐几本吧

    于我个人而言,我很喜欢Python,当然我也有很多的理由推荐你去学python.我只说两点.一是简单,二是写python薪资高.我觉得这俩理由就够了,对不对.买本书,装上pycharm,把书上面的例子 ...

  9. 使用netty编写IM通信界面

    前驱知识 WebSocket 维基百科: WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补 ...

  10. Spring MVC 起步

    跟踪Spring MVC的请求 在请求离开浏览器时①,会带有用户所请求内容的信息,至少会包含请求的URL. 请求旅程的第一站是Spring的DispatcherServlet.与大多数基于Java的W ...