注意:就算代码中不包含<tbody>标签,浏览器解析时也可能会自动添加,因此需要注意子元素的选择

表格操作用到的属性:

1、tHead

2、tBodies

3、tFoot

更为细致的有:

4、rows

5、cells

表格操作:

//从后台获取数据、隔行变色、删除整行
<!DOCTYPE>
<html>
<head lang="en">
<meta charset="utf-8">
<title>表格操作</title>
</head>
<body>
<table id="tab" border="1px" width="100%">
<thead>
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody></tbody>
</table>
</body>
<script>
window.onload=function(){
var data=[
{number:1,name:"leo1",sex:"男",age:17},
{number:2,name:"leo2",sex:"男",age:15},
{number:3,name:"leo3",sex:"男",age:14},
{number:4,name:"leo4",sex:"女",age:18},
];
var oTbody=document.getElementById("tab").tBodies[0]; for(var i=0;i<data.length;i++){
var oTr=document.createElement("tr");
if(i % 2){
oTr.style.background="#ccc";
}
else{
oTr.style.background="#fff";
} var oTd=document.createElement("td");
oTd.innerHTML=data[i].number;
oTr.appendChild(oTd); var oTd=document.createElement("td");
oTd.innerHTML=data[i].name;
oTr.appendChild(oTd); var oTd=document.createElement("td");
oTd.innerHTML=data[i].sex;
oTr.appendChild(oTd); var oTd=document.createElement("td");
oTd.innerHTML=data[i].age;
oTr.appendChild(oTd); var oTd=document.createElement("td");
var oA=document.createElement("a");
oA.href="javascript:;";
oA.innerHTML="删除";
oTd.appendChild(oA);
oTr.appendChild(oTd); oTbody.appendChild(oTr); } var oA=document.getElementsByTagName("a");
for(var m=0;m<oA.length;m++){
oA[m].onclick=function(){
oTbody.removeChild(this.parentNode.parentNode);
for(var i=0;i<document.getElementsByTagName("tr").length;i++){
if(i % 2){
oTr.style.background="#ccc";
}
else{
oTr.style.background="#fff";
}
}
}
} } </script>
</html>

 

DOM表格操作的更多相关文章

  1. Javascript:DOM表格操作

    需求说明: /* *需求说明: *获取元素:tBodies,tHead,tFoot,rows,cells *表格的创建 *数据添加 *隔行变色 *删除操作,剩余表格重新计算,实现隔行变色 */ HTM ...

  2. dom 表格操作

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  4. 原生js封装table表格操作,获取任意行列td,任意单行单列方法

    V1.001更新增加findTable-min.js 本次更新,优化了代码性能方面,增加了部分新功能,可以获取多个table表格批量操作. 考虑到本人后面的项目中可能涉及到大量的表格操作,提前先封了 ...

  5. javaScript之表格操作<一:新增行>

    DOM表格系列操作 /** * 添加表格行 * @function 本接口可以用于:在表格tbody部分新增任意数量,任意样式的行HTML结构; * @name addTableLines * @au ...

  6. 前端性能优化--为什么DOM操作慢? 浅谈DOM的操作以及性能优化问题-重绘重排 为什么要减少DOM操作 为什么要减少操作DOM

    前端性能优化--为什么DOM操作慢?   作为一个前端,不能不考虑性能问题.对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩( ...

  7. dom事件操作例题,电子时钟,验证码,随机事件

    dom事件操作 当事件发生时,可以执行js 例子: 当用户点击时,会改变<h1>的内容: <h1 onClick="this.innerHTML='文本更换'"& ...

  8. 深入理解DOM节点操作

    × 目录 [1]创建节点 [2]插入节点 [3]移除节点[4]替换节点[5]复制节点 前面的话 一般地,提起操作会想到“增删改查”这四个字,而DOM节点操作也类似地对应于此,接下来将详细介绍DOM的节 ...

  9. DOM样式操作

    CSS 到 DOM的抽象 通过操作 CSS 对应的 DOM对象来更新CSS样式 换肤操作 如何获取实际的样式(不仅有行内,更有页面和外联样式表中定义的样式) 样式表分为三类: 外联,页面,行内 内部样 ...

随机推荐

  1. 对PS的评价

    Photoshop(简称:PS)是电脑上的图像处理软件:对于广大Photoshop爱好者而言,PS亦用来形容通过该类图形处理软件处理过的图片,即非原始.非未处理的图片:多数人对于这软件的了解仅限于“一 ...

  2. jdbcTemplete(转)

    文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行 ...

  3. github学习步骤

    组员1:    王文政      201303011159 作业网址 :https://github.com/1246251747/3/blob/master/jjj.txt 心得: 1.  申请gi ...

  4. github个人心得

    github真难全是英语真费劲 以后要好好学习英语 https://github.com/huangjingyi/test

  5. 第八章Jdk代理 cglib代理

    什么是代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这 ...

  6. Node http请求信息

    //1:加载http模块 httpconst http = require("http");//2:创建http 服务器var server = http.createServer ...

  7. Test Scenarios for Filter Criteria

    1 User should be able to filter results using all parameters on the page2 refine search functionalit ...

  8. rabbitmq线上服务器与项目结合的问题总结

    一.特殊字符需要转义 只需要加个\反斜杠就可以了 二.zk的connectString 在rabbit web页面上登录上去,新增queue就可以了

  9. vander范德蒙德行列式

    https://baike.baidu.com/item/%E8%8C%83%E5%BE%B7%E8%92%99%E8%A1%8C%E5%88%97%E5%BC%8F function m=vande ...

  10. python 模块之-hashlib

    python 模块hashlib import hashlib m=hashlib.md5()         # 生成MD5加密对象 m.update('jiami-string'.encode(' ...