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 ...
随机推荐
- php中的public、protected、private三种访问控制模式及self和parent的区别(转)
php的public.protected.private三种访问控制模式的区别 public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用 ...
- Oracle 用户权限 Grant
用户的权限来自系统权限和对象权限 一.系统权限 3个索引权限 Grant CREATE ANY INDEX to User_Name://创建索引 Grant ALTER ANY INDEX to U ...
- ERP项目实施记录11-产品工艺流程图及单据关联图
借助百度的Echarts做了2个图表,一个展示产品的生产工艺流程,一个展示产品与订单.工程单的关系 上图为产品工艺流程图,鼠标放上去可以显示部件信息 黄色SO图标代表销售订单,单击打开销售订单 红色M ...
- 2019.3.23 python的unittest框架与requests
(明天学测试用例集合及输出测试报告!!!) import unittest import requests import json class Test_get(unittest.TestCase): ...
- 从零开始搭建vue开发环境及构建vue项目
1.安装node.js 安装完成之后,打开dos(windows+R或者直接windows键打开,输入cmd,按回车键)窗口,输入命令node -v可以查看安装的 node.js版本 node.js自 ...
- spring 相关注解详情(二)
@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法 /* 数据源的属性类 */ public class DataSourcePro ...
- Python---Models 模型
#Models 模型 数据结构 + 算法 = 程序 ---> URL ---> VIEW ---> Temple ---> DB:分类---关系 Teacher Stude ...
- jupyter notebook 动态图显示
直接在import matplotlib.pyplot as plt 后面加%matplotlib,或者%matplotlib auto就可以通过弹出窗口的形式显示图片
- 2018-2019-2 网络对抗技术 20165321 Exp2 后门原理与实践
基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:网络钓鱼植入木马. (2)例举你知道的后门如何启动起来(win及linux)的方式? 答:绑定在合法软件上启动. (3)Met ...
- React 学习过程中常见的错误
1, react报错Module not found: Error: Can't resolve 解决: 一般是加载文件的路径写错了: