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. Nginx反向代理其他使用方式

    Nginx反向代理在生产环境中使用很多的. 场景1: 域名没有备案,可以把域名解析到香港一台云主机上,在香港云主机做个代理,而网站数据是在大陆的服务器上. 示例1: server { listen 8 ...

  2. CSS文本单行或者多行超出区域省略号(...)显示方法

    单行超出时,主要用到几个CSS属性: 1.text-overflow : clip | ellipsis ; clip : 不显示省略标记(...),而是简单的裁切ellipsis : 当对象内文本溢 ...

  3. 对Sql Server执行计划的浅显了解。

    一名大三的小学生,今天开始我的第一篇博客,最近随便做了一个简易的酒店管理系统,对sql执行计划有了初步的了解. 查看上面语句的预估执行计划,在工具栏中有这个按钮 聚集索引扫描被称为Index Scan ...

  4. spring中WebApplicationContext、DispatcherServlet与web容器的ServletContext关系梳理

    学习源码过程中,对各种context(上下文)表示很懵逼.特地留此一篇. 1.要了解各个上下文之间的关系.首先走一遍spring在web容器(tomcat)中的启动过程 a) ServletConte ...

  5. expdp、impdp导入导出数据库

    一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员目录(同时 ...

  6. Redis系列-第六篇哨兵模式

    https://blog.csdn.net/niugang0920/article/details/97141175 Redis的主从复制模式下, 一旦主节点由于故障不能提供服务, 需要人工将从节点晋 ...

  7. Django 初识之安装下载以及模型目录简介

    Django 一.web应用 web应用什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式 ...

  8. 数据分组统计函数族——apply族用法与心得

    笔者寄语:apply族功能强大,实用,可以代替很多循环语句,R语言中不要轻易使用循环语句. 原文链接: https://blog.csdn.net/sinat_26917383/article/det ...

  9. SpringCloud2.0 Feign 服务发现 基础教程(五)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

  10. Fiddler无法抓取HTTPS的问题,Fiddler证书无法安装终极解决方案,

    win7下Fiddler证书安装之后,总是无法抓取https的包:网上搜了很多方法都没解决问题,最终摸索解决方法如下: 第一步: 安装证书:到Fiddler的Tools-options-https下, ...