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. Django-xadmin的使用介绍

    Django-xadmin的介绍 Django是python的重量级web框架,写得少,做得多,非常适合后端开发,它很大的一个亮点是,自带后台管理模块,但它自带的后台管理有点丑,而Xadmin是基于b ...

  2. Ansible--Ansible之Playbook

    Ansible之Playbook Playbook介绍 playbook参考文档 Playbook与ad-hoc相比,是一种完全不同的运用ansible的方式,类似与saltstack的state状态 ...

  3. 【转载】使用宝塔Linux面板屏蔽某些IP访问你的服务器

    在服务器的运维过程中,有时候发现一些异常IP或者扫描漏洞攻击者IP访问你的网站,此时如果想屏蔽该IP访问你的服务器,可以通过云服务器厂商提供的安全组进行设置.如果服务器安装有宝塔面板,也可以通过宝塔面 ...

  4. springboot脚手架liugh-parent源码研究参考

    1. liugh-parent源码研究参考 1.1. 前言 这也是个开源的springboot脚手架项目,这里研究记录一些该框架写的比较好的代码段和功能 脚手架地址 1.2. 功能 1.2.1. 当前 ...

  5. JavaScript 之 对话框

    一.alert()  语法格式: alert("hello javascript"); 该对话框是弹出一个提示信息. Chrome 浏览器的效果. 二.prompt() 语法格式: ...

  6. IOS 微信、QQ、叮叮等APP虚拟定位 实在太好用了

    前不久爱思助手更新了最新版本:V7.96,同时更新了好几个功能,包括给ios设备修改虚拟定位功能,想要给手机修改,我们需要电脑下载爱思助手最新版本V7.96,数据线连接电脑修改. 借助爱思助手的虚拟定 ...

  7. Python之路(第四十二篇)线程相关的其他方法、join()、Thread类的start()和run()方法的区别、守护线程

    一.线程相关的其他方法 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. ​ threadin ...

  8. Linux装B命令

    原文:https://mp.weixin.qq.com/s/CNmMRjl0iZ8EBPq5VgJHsA 1.空心字体 yum install -y figlet figlet happy 1.0 2 ...

  9. django memcached/redis缓存 =====缓存session

    全站使用 例如 博客等缓存,通过中间件实现全站缓存. 加缓存中间件,那么多中间件加在什么位置? 请求时:缓存加在中间件里的最后一个,比如一次经过1.2.3.4中间件,加在4 返回事:缓存加在中间件里的 ...

  10. 提高python处理数据的效率方法

    处理大数据的方法有很多,目前我知道就这么多,后面会持续更新: 一.将数据分批次读取 csv格式是常见的数据存储方式,对于我们普通人而言易于读写.此外,在pandas中有pd.read_csv()函数可 ...