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 相关文章推荐
jquery实现最简单的滑动菜单效果代码
Sep 12 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
老生常谈遮罩层 滚动条的问题
Apr 29 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
原生js实现吸顶效果
Mar 13 Javascript
实例详解display:none与visible:hidden的区别
Mar 30 Javascript
原生JS+Canvas实现五子棋游戏
May 28 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
JS+DIV实现拖动效果
Feb 11 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
JS数组索引检测中的数据类型问题详解
Jan 11 Javascript
vue使用echarts画组织结构图
Feb 06 Vue.js
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生成缩略图的类代码
2008/10/02 PHP
php编写一个简单的路由类
2011/04/13 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
python中的sort方法使用详解
2014/07/25 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python开发的HTTP库requests详解
2017/08/29 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
Python time库基本使用方法分析
2019/12/13 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
财务管理专业毕业生求职信
2014/06/02 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
消防志愿者活动方案
2014/08/23 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL