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 Selector对象学习
Jul 23 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
JS实现太极旋转思路分析
Dec 09 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
Jul 17 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 Javascript
js this 绑定机制深入详解
Apr 30 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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
模拟flock实现文件锁定
2007/02/14 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
node实现的爬虫功能示例
2018/05/04 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
python关闭windows进程的方法
2015/04/18 Python
深入理解python函数递归和生成器
2016/06/06 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
聘用意向书范本
2014/04/01 职场文书
抽样调查项目计划书
2014/04/24 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
村级四风对照检查材料
2014/08/24 职场文书
公司授权委托书样本
2014/09/15 职场文书
四风自我剖析材料
2014/09/30 职场文书
教师年终个人总结
2015/02/11 职场文书
2015年推普周活动方案
2015/05/06 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书