JS 页面表格的操作
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 页面表格的操作的更多相关文章
- 原生js实现类的添加和删除,以及对数据的add和update、view ,ajax请求 ,页面离开的操作
1 类操作 function hasClass(cla, element) { if(element.className.trim().length === 0) return false; var ...
- Java&Selenium调用JS实现高亮被操作页面元素高亮
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...
- 案例学习总结:原生JS实现表格排序
最近在学习js的表格排序,没想到看不起眼的表格排序实际上却暗含了众多JS知识点.在这里记录一下此次学习过程.希望对大家也有所帮助. 完整的表格排序涉及了下列这些知识点: call方法使用 sort方法 ...
- ASP.NET MVC+BUI实现表格的操作
在Web中基于表格的操作,比如添加行.单元格内容编辑等等功能,是完全基于js实现的.但如果程序员完全使用js或者jquery去编写表格控件,则会导致样式不统一,代码量较大等问题,尤其对于不太熟悉js的 ...
- 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的返回值自动进行各种序列化处理(序列化为 ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- 关于BOM的一些基本知识以及表格的操作
首先先了解什么是BOM? BOM:英文全称Browser Object Model,即浏览器对象模型.浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览 ...
- Gremlins.js – 模拟用户随机操作的 JS 测试库
Gremlins.js 是基于 JavaScript 编写的 Monkey 测试库,支持 Node.js 平台和浏览器中使用.Gremlins.js 随机模拟用户操作:单击窗口中的任意位置,在表格中输 ...
- js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)
js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...
随机推荐
- Dev_GridView获取所选行的句柄
这是官方帮助文档上的一句话: 此示例演示如何获取所选行,然后更改其字段值. GetSelectedRows方法检索所选行的句柄. 由于行句柄反映了在View中显示行的顺序,因此修改单行可 能会影响其他 ...
- 十二、JDBC
day17 JDBC入门 l 导jar包:驱动! l 加载驱动类:Class.forName(“类名”); l 给出url.username.password,其中url背下来! l 使用Driver ...
- EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
DbContextPool 是 ASP.NET Core 2.1 引入的新特性,可以节省创建 DbContext 实例的开销,但没有想到其中藏着一个小坑. 最近有一个 ASP.NET Core 项目持 ...
- js canvas游戏初级demo-上下左右移动
大概流程就是监听状态变化擦除画布重绘 由于js监听时间变化的函数addEventListener只能达到每秒触发20次左右,也就是每秒20帧,看起来有点卡卡的 所以用定时器搞到每秒30帧 按上下左右键 ...
- 《ABCD组团队》第二次作业
ABCD组:二手车价格预测系统 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.c ...
- ADB——连接手机的三种方式
有USB连接 硬件状态正常. 包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好. Android 设备的开发者选项和 USB 调试模式已开启. 可以到「设置」-「开发者选项」- ...
- 20175201课下作业 MyCP
要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进 ...
- dependent object 和root object
dependent object 是root object 下面的字节点.每个节点被访问,都要通过 root object 进入.
- iOS Version和Build的区别
iOS开发中,会面对一个问题,Version和Build的区别.这两种均是版本号,但是在开发中还是有一定的区别,而且用处很大. Version 是版本号,在info.plist中对应的key是 CFB ...
- No input file specified. phpStudy nginx报错解决方案
1.首先观察路径是否存在, 2.在vhsos.conf文件中 先科普下: 在Windows系统中,正斜杠 / 表示除法,用来进行整除运算:反斜杠 \ 用来表示目录. 在Unix系统中,/ 表示目录:\ ...