JavaScript 学习笔记(十三)Dom创建表格


Posted in Javascript onJanuary 21, 2010

Dom基础—创建表格
利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。但第一种有可能在IE上有问题,所以推荐使用第二种。
1、insertRow(index):index从0开始
这个函数将新行添加到index的那一行前,比如insertRow(0),是将新行添加到第一行之前。默认的insertRow()函数相当于 insertRow(-1),将新行添加到表的最后。一般我们在使用的时候都是:
objTable.insertRow (objTable.rows.length)就是为表格objTable在最后新增一行。
insertCell()和insertRow的用法相同。
2、deleteRow(index):index从0开始
删除指定位置的行,要传入的参数:Index是行在表格中的位置,可以下面的方法取得然后去删除:
var row = document.getElementById("行的Id");
var index = row.rowIndex; //有这个属性
objTable.deleteRow(index);
在使用过程中,删除表格的行的时候,如果删除了某一行,那么表格行数是马上就变化的,rows.length总是在变小,所以如果你要删除表格的所有行:

function removeAllRow() { 
var objTable = document.getElementById("myTable"); 
var length = objTable.rows.length; 
for (var i = 1; i < length; i++) { 
objTable.deleteRow(i); 
} 
}

3、setAttribute()方法,动态设置单元格与行的属性
格式如下:setAttribute(属性,属性值)
var objMyTable = document.getElementById("myTable");
objMyTable.setAttribute("border", 1); //为表格设置边框为1
在使用的时候遇到一个设置样式的问题,不能用
setAttribute("class","inputbox1");而应该使用
setAttribute("className","inputbox1"),
4、创建表格
了解了行<tr>与单元格<td>的增删那就可以创建表格了。
第一步:你需要有一个你去动态变化的表格,这里讲的是已经存在页面的表格,我们设置一个id:myTable

var objMyTable = document.getElementById("myTable");
第二步:创建行与列的对象

var index = objMyTable.rows.length; 
var nextRow = objMyTable.insertRow(index); //在最后的行 
//var nextRow = objMyTable.insertRow(0); //在最前的行

下面是示例代码
<script type="text/javascript"> 
var Count = false; //控制交替换行 
var NO = 1; //行号 
function addRow() { 
Count = !Count; 
//添加一行 
var newTr = table.insertRow(table.rows.length); //在最后新增一行 
//var newTr = table.insertRow(0); //在最前面新增一行 
//添加两列 
var newTd0 = newTr.insertCell(); 
var newTd1 = newTr.insertCell(); 
var newTd2 = newTr.insertCell(); 
//设置列内容和属性 
if (Count) { 
newTr.style.background = "#FFE1FF"; 
} 
else { 
newTr.style.background = "#FFEFD5"; 
} 
NO++; 
newTd0.innerHTML = '<input type=checkbox id="box' + NO + '" />'; 
newTd1.innerText = "第" + NO + "行"; 
newTd2.innerHTML = '<input type="text" id="Text' + NO + '" />'; 
} 
</script> 
<body> 
<form id="form1" runat="server"> 
<input type="button" value="插入行" onclick="addRow()" /> 
<table width="399" border="0" cellspacing="1" id="table" style="font-size: 14px;"> 
<tr bgcolor="#FFEFD5"> 
<td width="6%"> 
<input type="checkbox" id="box1" /> 
</td> 
<td> 
第1行 
</td> 
<td> 
<input id="Text1" type="text" /> 
</td> 
</tr> 
</table> 
</form> 
</body>
Javascript 相关文章推荐
Prototype Hash对象 学习
Jul 19 Javascript
IE本地存储userdata的一个bug说明
Jul 01 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
JS交换变量的方法
Jan 21 Javascript
纯javascript响应式树形菜单效果
Nov 10 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
ES6 Generator函数的应用实例分析
Jun 26 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 Javascript
JS绘图Flot应用图形绘制异常解决方案
Oct 16 Javascript
JavaScript canvas实现文字时钟
Jan 10 Javascript
js实现验证码干扰(动态)
Feb 23 Javascript
JavaScript 学习笔记(十二) dom
Jan 21 #Javascript
javascript parseInt与Number函数的区别
Jan 21 #Javascript
js parsefloat parseint 转换函数
Jan 21 #Javascript
jquery 防止表单重复提交代码
Jan 21 #Javascript
javascript 哈希表(hashtable)的简单实现
Jan 20 #Javascript
JS 对象介绍
Jan 20 #Javascript
JavaScript 学习笔记(十一)
Jan 19 #Javascript
You might like
php strcmp使用说明
2010/04/22 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
php实例分享之二维数组排序
2014/05/15 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
prototype 学习笔记整理
2009/07/17 Javascript
XmlUtils JS操作XML工具类
2009/10/01 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
详解js闭包
2014/09/02 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
分析python切片原理和方法
2017/12/19 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
怎样自定义一个异常类
2016/09/27 面试题
生物制药毕业生自荐信
2013/10/16 职场文书
好听的队名和口号
2014/06/09 职场文书
创先争优公开承诺书
2014/08/30 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书