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 相关文章推荐
JavaScript获取网页中第一个链接ID的方法
Apr 03 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
May 24 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
浅谈node的事件机制
Oct 09 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
Jan 20 Javascript
在angular 6中使用 less 的实例代码
May 13 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
详解elementUI中input框无法输入的问题
Apr 27 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函数utf8转gb2312编码
2006/12/21 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
JQuery 学习笔记 选择器之四
2009/07/23 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
Python多进程编程常用方法解析
2020/03/26 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
大学生文员专业个人求职信范文
2014/01/05 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
募捐倡议书
2014/04/14 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis