var showObj = null;
var arr = [
['编号','姓名','性别','年龄','备注','操作'],
['1','lisi','nan','12','66666'],
['2','lisi','nan','12','66666'],
['3','lisi','nan','12','66666'],
['4','lisi','nan','12','66666']
];
window.onload = function(){
init();
addTab();
}
function init(){
showObj = document.getElementById('show');
}
function addTab(){
var tabObj = document.createElement('table');
tabObj.setAttribute('border','1');
for (var i = 0; i < arr.length; i++) {//tr循环
var trObj = document.createElement('tr');
//寻找删除行的编号
trObj.setAttribute('num',i);
for (var k = 0; k < arr[i].length; k++) {//td循环
var tdObj = null;
if (i == 0) {
tdObj = document.createElement('th');
}else{
tdObj = document.createElement('td');
//添加点击变文本事件
tdObj.onclick = tdEdit;
}
tdObj.innerHTML = arr[i][k];
trObj.append(tdObj);
}
if (i >= 1) {
tdObj = document.createElement('td');
var CzBtn = document.createElement('button');
CzBtn.innerHTML = '删除';
CzBtn.setAttribute("onclick","dletr('"+ i +"')");
tdObj.append(CzBtn);
trObj.append(tdObj);
// tdObj.innerHTML = "<button onclick='deltr("+ i +")'>删除</button>";
// tdObj.append(CzBtn);

}
tabObj.append(trObj);
}
showObj.append(tabObj);
}
//点击添加一行
function addTr(){
var trObj = document.createElement('tr');
for (var k = 0; k < arr[0].length; k++) {
var tdObj = document.createElement('td');
tdObj.innerHTML = arr[1][k];
trObj.append(tdObj);
}

var tabObj = document.getElementsByTagName('table')[0];
tabObj.append(trObj);
}
function dletr(num){
var trs = document.getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
var zhi = trs[i].getAttribute('num');
if (zhi == num) {
trs[i].remove();
break;
}
}
}
//文本文档可以修改
function tdEdit(){
var tdObj = this;

tdObj.innerHTML = "<input id='editInput' type='text'>";

tdObj.onclick = null;
// 监听回车事件
var editInput = document.getElementById('editInput');
if (editInput.onkeyup == 13) {
tdObj.innerHTML = editInput.value;
tdObj.onclick = tdEdit;
}

}

JS 页面表格的操作的更多相关文章

  1. 原生js实现类的添加和删除,以及对数据的add和update、view ,ajax请求 ,页面离开的操作

    1 类操作 function hasClass(cla, element) { if(element.className.trim().length === 0) return false; var ...

  2. Java&Selenium调用JS实现高亮被操作页面元素高亮

    Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...

  3. 案例学习总结:原生JS实现表格排序

    最近在学习js的表格排序,没想到看不起眼的表格排序实际上却暗含了众多JS知识点.在这里记录一下此次学习过程.希望对大家也有所帮助. 完整的表格排序涉及了下列这些知识点: call方法使用 sort方法 ...

  4. ASP.NET MVC+BUI实现表格的操作

    在Web中基于表格的操作,比如添加行.单元格内容编辑等等功能,是完全基于js实现的.但如果程序员完全使用js或者jquery去编写表格控件,则会导致样式不统一,代码量较大等问题,尤其对于不太熟悉js的 ...

  5. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目

    ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)   我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...

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

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

  7. 关于BOM的一些基本知识以及表格的操作

    首先先了解什么是BOM? BOM:英文全称Browser Object Model,即浏览器对象模型.浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览 ...

  8. Gremlins.js – 模拟用户随机操作的 JS 测试库

    Gremlins.js 是基于 JavaScript 编写的 Monkey 测试库,支持 Node.js 平台和浏览器中使用.Gremlins.js 随机模拟用户操作:单击窗口中的任意位置,在表格中输 ...

  9. js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)

    js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...

随机推荐

  1. 听说尤雨溪在开发vue4.0?是谁煽动了前端圈的焦虑情绪

    导火索因P图而起 今天前端圈里被一张P图搞得好热闹,最初只是QQ群里一个冒名尤雨溪的前端网友发了一句调侃的话,原话截图如下: 看完觉得好搞笑,说尤雨溪在开发vue4.0,有谁学不动了,就给他发10块钱 ...

  2. spring boot中jsp解析c标签方法

    pro.xml中添加jstl标签 <dependency><groupId>javax.servlet</groupId><artifactId>jst ...

  3. php发送邮箱重置密码链接,并在重置成功后使链接失效 (ThinkPHP5)

    /** * 重置密码页,验证链接有效性,页面发送邮件调用sendResetPwdEmail()方法 */ public function resetPwd() { $param = input('') ...

  4. iview select filterable属性使用下拉小bug

    今天做项目时候在iview 原生自带的select中设置filterable,下拉时候可进行查询,但是发现选中载打开模态框每次都绑定上一次的值,解决方案就是在关闭弹框时候将this.$refs.sto ...

  5. 报文分析3、ICMP协议的头结构

    ICMP协议的头结构 类型(8位) 代码(8位) 校验和(8位) 类型或者代码   (1)类型:一个8位类型字段,表示ICMP数据包类型. (2)代码:一个8位代码域,表示指定类型中的一个功能.如果一 ...

  6. mongodb 性能

    mongo 性能:http://www.mongoing.com/docs/tutorial/optimize-query-performance-with-indexes-and-projectio ...

  7. SQL SERVER 基本操作语句

    Sql 是一种结构化的查询语言:Sql是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理‘关系型数据库’系统:Sql对大小写不敏感:Sql不是数据库,是行业标准,是结构化的查询语言 In ...

  8. Java面试题和解答(一)

    1.说说JVM原理?内存泄露与溢出区别,何时产生内存泄露? JVM原理 :http://www.cnblogs.com/jiayi/archive/2010/06/08/1753863.html 内存 ...

  9. 使用纳米 Protocol buffers 作为序列化数据

    使用纳米 Protocol buffers 作为序列化数据 Protocol Buffers 是 Google 公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化. 但是它更小, 更快, ...

  10. STM32_DAC之软件触发(Trigger)

    stm32_DAC可以用来输出固定的电压值,有些时候需要按键可调输出的电压值.其中一种方法是使用外部中断EXTI9, 另外一种方法就是使用软件触发. 如果将DAC_InitTypeDef.DAC_Tr ...