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 相关文章推荐
实例:尽可能写友好的Javascript代码
Oct 09 Javascript
JavaScript 对象链式操作测试代码
Apr 25 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
通过js来制作复选框的全选和不选效果
May 22 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
Angularjs CURD 详解及实例代码
Sep 14 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
JavaScript仿支付宝6位数字密码输入框
Dec 29 Javascript
Bootstarp基本模版学习教程
Feb 01 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
Feb 22 Javascript
vuex中使用对象展开运算符的示例
Sep 25 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
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
javascript调试说明
2010/06/07 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
pm2 部署 node的三种方法示例
2017/10/20 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
JavaScript回调函数callback用法解析
2020/01/14 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python操作Access数据库基本步骤分析
2016/09/19 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
python实现两张图片的像素融合
2019/02/23 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
html5 标签
2009/07/16 HTML / CSS
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
如何实现一个自定义类的序列化
2012/05/22 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
工作表现评语
2014/01/19 职场文书
护士求职信范文
2014/05/24 职场文书
校园绿化美化方案
2014/06/08 职场文书
二审答辩状格式
2015/05/22 职场文书
电工实训心得体会
2016/01/14 职场文书