昨天记录了动态加入表格的一行,当然这个一行是指一行数据,也就是说一行多少列也是加上的,而且第几列的内容都能够加入上,先来回想下它的实现的关键点:

1、var row=table.insertRow();加入一行;

2、var cell1=row.insertCell();加入一个单元格;(假设在后面继续写var cell2=row.insertCell()的话。就是加入第二列;)

3、cell1.innerHTML="第一列的内容";向第一个单元格中填充值

以上就是昨天记录的动态加入一行的所有了,当然可以加入就能删除。而今天来记录的就是动态的删除。删除一行,删除一列。

首先看删除一行:

我们先来看存在的表格:

这样,如今存在一个四行两列的表格。我们先来实现删除某指定一行:假定我们须要删除第三行,我们该怎么写呢?

这样来看一下代码:在html代码中,在delRowbutton上加入方法onclick="c()";

function c(){
var table=document.getElementById("tad");
var len=table.rows.length;
table.deleteRow(len-2);//这里删除的是倒数第二行。也就是第三行
}

这样我们来执行下,结果显示为:

这样,第三行就被删除了。由此我们能够得知,删除一行的方法为deleteRow(index)。index为參数。表示第几行。这个參数时从上向下,由0開始数的,另外有特别须要注意的一点:假设參数不写,则效果与參数为0一样。表示删除最上面一行

这样实现删除全部行是不是就有思路了,这样我们来写下代码:

function c(){
var table=document.getElementById("tad");
var len=table.rows.length;
for(var i=0;i<len;i++){
table.deleteRow();//也能够写成table.deleteRow(0);
}
}

这样我们来看下结果:

就仅仅剩下table的外壳了,里面的内容全都不见了。原理我们懂了,代码我们也实现了。可是在实现过程中有几点我们须要注意:

1、在循环中我们是首先获取的固定值。var len=table.rows.length;然后i<len,而不是直接写i<table.rows.length;

想必大家都明确当中的原因,删除一行之后,在进入第二次循环的时候,表格已经变动了。则table.rows.length也改变了。然而i也增大了,等到table.row.length<=i的时候行并没有所有删光,在这个样例中的话应该是i=2的时候table.rows.length也等于2了,则就不再进行删除了,所以会余下两行,解决的办法之中的一个。当然就是按我写这样,还有一种也能够把i++去掉,知道len=0的时候停止也能够,可是理解起来有点麻烦了就

2、在循环中我们写的是table.deleteRow()或者table.deleteRow(0),而不是table.deleteRow(i),跟1中的原因一样的哦

接下来我们再来记录下删除列。假设说行是deleteRow()的话,列该怎么写呢,这里没有cols的事情。其实就是之前加入的单元格啊。将每一行的同一列上的单元格所有删除掉不就等同于删除了一列么,删除单元格的方法相同跟加入是相应的deleteCell();

这样假设说仅仅删除固定列,怎么写也就呼之欲出了吧,继续就上面的表格进行操作,删除第三行第二列。我们来写下实现代码:

function d(){
var table=document.getElementById("tad");
table.rows[2].deleteCell(1);
}

这个结果太明显了吧,那样全部列都删除也就easy多了。来继续实现下代码:

function d(){
var table=document.getElementById("tad");
for(var i=0;i<table.rows.length;i++){
table.rows[i].deleteCell(1);
}
}

这个结果也就随之而来了,这样我们就实现了动态的删除行和列,我们再来总结下:

1、删除行的方法:deleteRow();加入行则是insertRow();

2、删除列,即是删除单元格,方法为:deleteCell();而加入列则是insertCell()

近期工作碰到了个小问题,uml时序图一直没法彻底理解了呢,看起来挺简单的。可就绕不出那个弯了。加油啊...

js实现动态删除表格的行或者列-------Day57的更多相关文章

  1. js/jq动态创建表格的行与列

    之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...

  2. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  3. js如何动态创建表格(两种方法)

    js如何动态创建表格(两种方法) 一.总结 一句话总结: 1.方法一:写好创建表格的html代码,将之赋值给div的innerHTML. 2.方法二.直接用创建好的table元素的方法insertRo ...

  4. 电力项目十七--数据字典首页JS添加和删除表格

    知识点:jQuery是一个JavaScript函数库. JS代码: function insertRows(){ //获取表格对象 var tb1 = $("#dictTbl"); ...

  5. Matlab Delete Row or Col 删除矩阵的行或列

    Matlab中,我们有时候要删除矩阵中的某行某列,可以采用下列方法进行删除: a = [ ]; a(,:) = []; % Delete row a(:,) = []; % Delete col

  6. js回车动态添加表格,右键动态删除表格行

    <script type="text/javascript" language="javascript">//屏蔽浏览器右键function sto ...

  7. JS添加和删除表格行

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  8. 关于Jquery.validate.js中动态删除验证remove方法的Bug

    利用Jquery.validate.js 来做动态验证的时候,需要特定的情况下,删除添加opAmount的必须入力的Check $("#form").validate({ rule ...

  9. 按照勾选 删除表格的行<tr>

    需求描述:有一个产品列表,有一个删减按钮,点击删减按钮,按照产品勾选的行,删除产品列表中对应的行数据 代码: //html代码<table id="table1"> & ...

随机推荐

  1. 油猴 tamperMonkey 在百度首页 添加自己的自定义链接

    发现 GM_addStyle 函数不能用了,从写加载css函数. 剩下找个定位 添加内容 就很简单了. // ==UserScript== // @name helloWorld // @namesp ...

  2. HTML5新特性之History

    几年前,Ajax的兴起给互联网带来了新的生机,同时也使用户体验有了质的飞跃,用户无需刷新页面即可获取新的数据,而页面也以一种更具有交互性的形式为用户展现视图,可以说这种变化对互联网发展的贡献是史无前例 ...

  3. webpack、node、npm之间的关系

    webpack能够把.vue后缀名的文件打包成浏览器能够识别的js 而这个.vue文件装换需要打包器vue-loader 这个vue-loader打包器是可以从npm上面下载(npm上面有很多资源包) ...

  4. Docker客户端连接Docker Daemon的方式

    Docker为C/S架构,服务端为docker daemon,客户端为docker.service,支持本地unix socket域套接字通信与远程socket通信. 默认为本地unix socket ...

  5. Java方法传递参数传值还是传址的问题

    这几天重构项目代码遇到一个疑问:可不可以在方法A中定义一个boolean变量b为false,然后A调用方法C把b传递到C方法中经过一些列业务判断后修改为true,C执行结束后A方法中b的值还是原来的f ...

  6. go语言碎片整理之标准库log

    log Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log的基本使用. 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法.本包也提供了一个预定义的“标 ...

  7. POJ 2631 Roads in the North (树的直径)

    题意: 给定一棵树, 求树的直径. 分析: 两种方法: 1.两次bfs, 第一次求出最远的点, 第二次求该点的最远距离就是直径. 2.同hdu2196的第一次dfs, 求出每个节点到子树的最长距离和次 ...

  8. angular2 启动步骤

    以下内容转自网络 1. 创建项目文件夹 创建一个新的文件夹来保存你的项目,比如一开始有个self就好了 2.安装基础库 首先确保已经安装了node.js 我们使用 npm package manage ...

  9. 活动预告丨易盾CTO朱浩齐将出席2018 AIIA大会,分享《人工智能在内容安全的应用实践》

    本文来自网易云社区 对于很多人来讲,仿佛昨天才燃起来的人工智能之火,转眼间烧遍了各个角落,如今我们的生活中,处处渗透着人工智能.10月16日,2018年 AIIA人工智能开发者大会在苏州举办,网易云易 ...

  10. 跟初学者学习IbatisNet第一篇

    写在前面的话:我自己也是一个初学者,写这个专题只是为了对学过知识的巩固,如果有什么不对的地方,欢迎大家指正…………………… 第一篇就简单介绍一下什么是IbatisNet,然后写一个简单的Demo,在后 ...