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 formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 Javascript
JS 常用校验函数
Mar 26 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
jQuery提交多个表单的小例子
Jun 30 Javascript
禁止按回车键提交表单的方法
Jun 11 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
JavaScript使用Ajax上传文件的示例代码
Aug 10 Javascript
JS简单获得节点元素的方法示例
Feb 10 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
Vue实现图书管理案例
Jan 20 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
js实现缓动动画
2020/11/25 Javascript
Python编程实现蚁群算法详解
2017/11/13 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
就业自荐书
2013/12/05 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
协议书与合同的区别
2014/04/18 职场文书
入职担保书怎么写
2014/05/12 职场文书
走进敬老院活动总结
2014/07/10 职场文书
校友回访母校寄语
2015/02/26 职场文书