js添加一行、删除一行

                                                    let str="<tr>"
+"<td>"+a[1]+"</td>"
+"<td>"+p_money+"</td>"
+"<td>"+b_money+"</td>"
+"<td ><span onclick=\"delTab('"+a[0]+"',this)\" style=\"color: blue;cursor:pointer;\">删除</span></td>"
+"</tr>";
$("#tab").append(str);
   function delTab(id,obj){
ids=ids.replace(id+"#", "");
var tr=obj.parentNode.parentNode;
var tbody=tr.parentNode;
tbody.removeChild(tr);
}

js获取多少行 多少列   以及获取数据

                  //获取表格对象;
let tab = document.getElementById("tab");
//获取表格所有行数;
let tablRows = tab.rows.length;
let args="";
for(let i=1;i<tablRows;i++){
for(let j=1;j<tab.rows[i].cells.length-1;j++){
args+=tab.rows[i].cells[j].innerText+"#";
}
args+=",";
}

根据单元格获取行号

        console.log(obj.parentNode.parentNode.rowIndex);

添加  、删除、上移、下移 案例代码

        function add(){
let pjc=$("#pjc").val();
$("#pjc").val("");
//获取表格对象;
let tab = document.getElementById("mytab");
//获取表格所有行数;
let tablRows = tab.rows.length;
if(tablRows>=){
alert("最多只能添加10条");
return;
}
if(pjc){
if(tablRows==){
let str="<tr>"
+"<td>"+pjc+"</td>"
+"<td ><span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span></td>"
+"</tr>";
$("#mytab").append(str);
}else if (tablRows==) {
tab.rows[].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toBut(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">下移</span>";
let str="<tr>"
+"<td>"+pjc+"</td>"
+"<td ><span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toTop(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">上移</span>"
+"</td>"
+"</tr>";
$("#mytab").append(str);
}else { let a= tab.rows[tablRows-].cells.length-;
tab.rows[tablRows-].cells[a].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toTop(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">上移</span>"
+"<span onclick=\"toBut(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">下移</span>"; let str="<tr>"
+"<td>"+pjc+"</td>"
+"<td ><span onclick=\"delTab(this)\" Opstyle=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toTop(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">上移</span>"
+"</td>"
+"</tr>";
$("#mytab").append(str);
}
} } function toTop(obj) {
//获取表格对象;
let tab = document.getElementById("mytab");
let rows= obj.parentNode.parentNode.rowIndex;
let rows2=rows-;
let html1=tab.rows[rows].cells[].innerHTML;
let html2=tab.rows[rows2].cells[].innerHTML;
tab.rows[rows].cells[].innerHTML=html2;
tab.rows[rows2].cells[].innerHTML=html1;
} function toBut(obj) {
//获取表格对象;
let tab = document.getElementById("mytab");
let rows= obj.parentNode.parentNode.rowIndex;
let rows2=rows+;
let html1=tab.rows[rows].cells[].innerHTML;
let html2=tab.rows[rows2].cells[].innerHTML;
tab.rows[rows].cells[].innerHTML=html2;
tab.rows[rows2].cells[].innerHTML=html1;
} function delTab(obj){
//获取表格对象;
let tab = document.getElementById("mytab");
//获取表格所有行数;
let tablRows = tab.rows.length;
var tr=obj.parentNode.parentNode;
let rows= obj.parentNode.parentNode.rowIndex;
var tbody=tr.parentNode;
tbody.removeChild(tr);
if(tablRows==){
tab.rows[].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>";
}else if(tablRows==){
if(rows+==){
tab.rows[].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toTop(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">上移</span>";
}else if(rows==){
tab.rows[].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toBut(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">下移</span>";
} }else if(tablRows>=4){
if(rows+==tabRows){
tab.rows[rows-1].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toTop(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">上移</span>";
}else if(rows==){
tab.rows[].cells[].innerHTML="<span onclick=\"delTab(this)\" style=\"color: blue;cursor:pointer;\">删除</span>"
+"<span onclick=\"toBut(this)\" style=\"color: blue;cursor:pointer;margin-left: 10px;\">下移</span>";
}
} }

js操作表格、table、的更多相关文章

  1. js操作表格

    js 操作table: insertRow(),deleteRow(),insertCell(),deleteCell()方法 表格有几行: var trCnt = table.rows.length ...

  2. js 操作表格行数的删减

    沉溺了好几个月了,自从年假回来就一直在忙换工作的事情: 新环境.新同事,一如既往的工作, 那么闲话不多说,前两天师妹问我要一个类似于添加和删除的demo:闲暇时间我就参照一些代码写了一下, (发现有错 ...

  3. 用js操作表格

    效果图: 任务: 1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff var tr=document.getElementsByTagName(" ...

  4. JS 将表格table导出excel

    function tableToExcel(id) { var tb = document.getElementById(id); var html = '<html><head&g ...

  5. DOM系列---DOM操作表格

    DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本篇章主要了解一下DOM操作表格. 一.操作表格 <table>标签是H ...

  6. 第一百一十五节,JavaScript,DOM操作表格

    JavaScript,DOM操作表格 学习要点: 1.操作表格 DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DO ...

  7. JavaScript(第二十天)【DOM操作表格及样式】

    DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DOM操作表格和样式的一些知识. 一.操作表格 <table& ...

  8. JavaScript--DOM操作表格及样式(21)

    一 操作表格 // <table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它; // 使用DOM来创建表格; var table = d ...

  9. DOM 操作表格

    操作表格<table>标签是 HTML 中结构最为复杂的一个,我们可以通过 DOM 来创建生成它,或者 HTML DOM 来操作它.(PS:HTML DOM 提供了更加方便快捷的方式来操作 ...

随机推荐

  1. 详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation

    一. 伪分布模式Pseudo-Distributed Operation 这里关于VM虚拟机的安装就不再介绍了,详细请看<VMware虚拟机的三种网络管理模式>一章介绍.这章只介绍hado ...

  2. web基础运用

    目录 web框架 web应用本质 Web应用程序的优点 Web应用程序的缺点 BS架构优点 web框架的分类 web框架包含了三部分 web框架分类 Http协议 路由系统 自定制的web框架案例 w ...

  3. 什么是B+树

    什么是B+树呢?在说B+树之前我们先了解一下为什么要有B树,其实这些树最开始都是为了解决某种系统中,查询效率低的问题.B树其实最开始源于的是二叉树,二叉树是只有左右孩子的树,当数据量越大的时候,二叉树 ...

  4. Java 流程控制语句 之 顺序结构

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说,程序的流程对运行结果 有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实 ...

  5. android中listview滑动卡顿的原因

    导致Android界面滑动卡顿主要有两个原因: 1.UI线程(main)有耗时操作 2.视图渲染时间过长,导致卡顿 http://www.tuicool.com/articles/fm2IFfU 

  6. Elasticsearch使用DateHistogram聚合

    date_histogram是按照时间来构建集合(桶)Buckts的,当我们需要按照时间进行做一些数据统计的时候,就可以使用它来进行时间维度上构建指标分析.     在前面几篇中我们用到的hitogr ...

  7. .NET编译问题汇总

    1.Your project.json doesn't list 'win' as a targeted runtime. You should add '"win": { }' ...

  8. Sql Server设置用户只能查看并访问特定数据库

    现需要限定特定的用户只能查看并访问特定的数据库,防止多个用户对数据库操作时一些误操作. 参考i6first的如何让用户只能访问特定的数据库(MSSQL)博文 1.新建登录用户 以管理员身份登陆数据库( ...

  9. SQL 乐色干货笔记

    因为公司基本都是用存储过程所以本来写的干货基本都是存储过程的. SELECT TOP 1 Code,Invitation,Num,Typ FROM SignLog WITH(NOLOCK) WHERE ...

  10. oracle row_number() over(partition by .. order by ..)和rank() over(partition by .. order by ..) 和dense_rank() over(partition by .. order by ..)的相似点与区别

    新建一个测试表 create table dim_ia_test2(device_number varchar2(20),desc2 varchar2(20)) 插入数据后得到: 一.oracle r ...