DOM基础教程之使用DOM控制表格


Posted in Javascript onJanuary 20, 2015

表格的css控制就先不说了,首先分享下表格常用的DOM

DOM基础教程之使用DOM控制表格

表格添加操作的方法常用的为insertRow()和insertCell()方法。

row是从零开始计算起的,例如:

var oTr = document.getElementById("member").insertRow(2)

是指将新行添加到第二行。

var aText = new Array();

aText[0] = document.createTextNode("fresheggs");

aText[1] = document.createTextNode("W610");

aText[2] = document.createTextNode("Nov 5th");

aText[3] = document.createTextNode("Scorpio");

aText[4] = document.createTextNode("1038818");

for(var i=0;i<aText.length;i++){

var oTd = oTr.insertCell(i);

oTd.appendChild(aText[i]);

}

变量oTr即为表格插入新行,再利用insertCell为这行插入新的数据,利用createTextNode创建新的文本节点,在appendChild给oTd,oTd即为新的单元格。

1.插入一行(动态添加表格)

<script type="text/javascript">

window.onload=function(){

    var oTr = document.getElementById("member").insertRow(2);    //插入一行

    var aText = new Array();

    aText[0] = document.createTextNode("fresheggs");

    aText[1] = document.createTextNode("W610");

    aText[2] = document.createTextNode("Nov 5th");

    aText[3] = document.createTextNode("Scorpio");

    aText[4] = document.createTextNode("1038818");

    for(var i=0;i<aText.length;i++){

        var oTd = oTr.insertCell(i);

        oTd.appendChild(aText[i]);

    }

}

</script>

<table class="datalist" summary="list of members in EE Studay" id="member">

    <caption>Member List</caption>

    <tr>

        <th scope="col">Name</th>

        <th scope="col">Class</th>

        <th scope="col">Birthday</th>

        <th scope="col">Constellation</th>

        <th scope="col">Mobile</th>

    </tr>

    <tr>

        <td>isaac</td>

        <td>W13</td>

        <td>Jun 24th</td>

        <td>Cancer</td>

        <td>1118159</td>

    </tr>

    <tr>

        <td>girlwing</td>

        <td>W210</td>

        <td>Sep 16th</td>

        <td>Virgo</td>

        <td>1307994</td>

    </tr>

    <tr>

        <td>tastestory</td>

        <td>W15</td>

        <td>Nov 29th</td>

        <td>Sagittarius</td>

        <td>1095245</td>

    </tr>

</table>

2.修改表格的内容

当表格建立后,可以直接使用HtmlDom对表格进行操作,相比document.getElementById(),document.getElementsByTagName()操作更为方便。
oTable.rows[i].cell[j]
以上通过rows、cells两个属性轻松访问到表格特定的内容第i行和第j列(都是从0开始计数),获得单元格对象后就可以使用innerHTML属性修改翔宇的内容了。
例如修改4行5列的内容为good
则可以使用以下代码

var oTable = document.getElementById("table1");

oTable.rows[4].cells[5].innerHTML = "good";

3.删除表格内容

表格既然有添加、修改、就有删除功能。
表格中删除行使用deleteRow(i)方法,其中i为行号。
表格中删除列使用tr的deleteCell(j)方法。

如下代码表示删除表格的第二行及原来表格第三行的第二列

var oTable = document.getElementById("table1"); oTable.deleteRow[2]; oTable.rows[2].deleteCell[3];

如下代码表示删除表格的第二行及原来表格第三行的第二列 考虑到动态删除又不影响整体html框架,又或者表格内容很多的情况下,可以采用动态删除添加的办法

<script type="text/javascript">

window.onload=function(){

    var oTr = document.getElementById("member").insertRow(2);    //插入一行

    var aText = new Array();

    aText[0] = document.createTextNode("fresheggs");

    aText[1] = document.createTextNode("W610");

    aText[2] = document.createTextNode("Nov 5th");

    aText[3] = document.createTextNode("Scorpio");

    aText[4] = document.createTextNode("1038818");

    for(var i=0;i<aText.length;i++){

        var oTd = oTr.insertCell(i);

        oTd.appendChild(aText[i]);

    }

}

</script>

<table class="datalist" summary="list of members in EE Studay" id="member">

    <caption>Member List</caption>

    <tr>

        <th scope="col">Name</th>

        <th scope="col">Class</th>

        <th scope="col">Birthday</th>

        <th scope="col">Constellation</th>

        <th scope="col">Mobile</th>

    </tr>

    <tr>

        <td>isaac</td>

        <td>W13</td>

        <td>Jun 24th</td>

        <td>Cancer</td>

        <td>1118159</td>

    </tr>

    <tr>

        <td>girlwing</td>

        <td>W210</td>

        <td>Sep 16th</td>

        <td>Virgo</td>

        <td>1307994</td>

    </tr>

    <tr>

        <td>tastestory</td>

        <td>W15</td>

        <td>Nov 29th</td>

        <td>Sagittarius</td>

        <td>1095245</td>

    </tr>

</table>

删除列

function deleteColumn(oTable, iNum) {

                //自定义删除列函数,即每行删除相应单元格

                for (var i = 0; i < oTable.rows.length; i++)

                    oTable.rows[i].deleteCell(iNum);

            }

            window.onload = function() {

                var oTable = document.getElementById("table1");

                deleteColumn(oTable, 2);

            }

对于删除表格列而言,DOM中没有直接可调用的方法,需要自己来写deleteColumn()方法,该方法接受两个参数,一个参数是表格对象,另外一个参数则是希望删除的列号。编写方法很简单,利用deleteCell()方法,每一行都执行相应的删除单元格的方法。

Javascript 相关文章推荐
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
javascript动态判断html元素并执行不同的操作
Jun 16 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
jquery中使用循环下拉菜单示例代码
Sep 24 Javascript
JavaScript中原型和原型链详解
Feb 11 Javascript
jQuery源码解读之addClass()方法分析
Feb 20 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
May 25 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
解析js如何获取css样式
Dec 11 Javascript
在博客园博文中添加自定义右键菜单的方法详解
Feb 05 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
jQuery实现tag便签去重效果的方法
Jan 20 #Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 #Javascript
DOM基础教程之事件类型
Jan 20 #Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
Jan 20 #Javascript
DOM基础教程之事件对象
Jan 20 #Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 #Javascript
js实现的捐赠管理完整实例
Jan 20 #Javascript
You might like
十天学会php(1)
2006/10/09 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
JS分页效果示例
2013/10/11 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JavaScript函数详解
2015/02/27 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
详解Django框架中用context来解析模板的方法
2015/07/20 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
django 将model转换为字典的方法示例
2018/10/16 Python
基于python实现从尾到头打印链表
2019/11/02 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
夜班门卫岗位职责
2013/12/09 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
施工安全承诺书
2014/05/22 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
python批量创建变量并赋值操作
2021/06/03 Python
Golang bufio详细讲解
2022/04/21 Golang
小程序自定义轮播图圆点组件
2022/06/25 Javascript