js如何实现动态克隆一个表格?

一、总结

1、通过innerHTML实现表格内容复制,

2、通过表格dom的属性(比如border)实现属性赋值,

3、通过表格dom的样式style实现样式的复制。

二、js如何实现动态克隆一个表格?

1、克隆表格案例描述

  • 实例描述:

    实现表格及其内容的复制

  • 案例要点:

    通过innerHTML可以轻松实现表格内容的复制

    表格的属性需要单独的复制

2、用到的table标签的属性

Table 对象常用属性
  • frame 设置或返回表格的外部边框。
  • rules 设置或返回表格的内部边框(行线)。
  • caption 对表格的 caption 元素的引用。
  • cellPadding 设置或返回单元格内容和单元格边框之间的空白量。
  • cellSpacing 设置或返回在表格中的单元格之间的空白量。
  • summary 设置或返回对表格的描述(概述)。
  • tFoot/tHead 返回表格的 TFoot /tHead对象。如果不存在该元素,则为 null。
  • border/width/id......

三、代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>8.4 演示文档</title>
  6. <style type="text/css">
  7. </style>
  8. </head>
  9. <body>
  10. <table id="tab" border="1">
  11. <caption>表格名称</caption>
  12. <thead>
  13. <tr>
  14. <th colspan="3">标题1</th>
  15. </tr>
  16. </thead>
  17. <tbody>
  18. <tr>
  19. <td>单元格11</td>
  20. <td>单元格12</td>
  21. <td>单元格13</td>
  22. </tr>
  23. <tr>
  24. <td>单元格21</td>
  25. <td>单元格22</td>
  26. <td>单元格23</td>
  27. </tr>
  28. <tr>
  29. <td>单元格31</td>
  30. <td>单元格32</td>
  31. <td>单元格33</td>
  32. </tr>
  33. </tbody>
  34. <tfoot><td>备注:</td><td colspan="2"></td></tfoot>
  35. </table>
  36. <input type="button" value="复制表格" onclick="copytab()">
  37. <script>
  38. function copytab(){
  39. var tab=document.getElementById('tab');
  40. var cotab=document.createElement('table')
  41. cotab.innerHTML=tab.innerHTML;
  42. cotab.border=tab.border;
  43. cotab.style.marginTop='20px';
  44. cotab.caption.innerHTML='我是复制的'
  45. document.body.appendChild(cotab)
  46. }
  47.  
  48. </script>
  49. </body>
  50. </html>

四、测试题-简答题

1、如何动态创建一个表格?

解答:通过document的createElement方法,然后然后将创建好的这个dom表格对象加到document的body属性中。

2、如何通过document的createElement方法创建一个表格的dom对象,createElement方法的参数是什么?

解答:var cotab=document.createElement('table') 参数是'table'

3、appendChild的作用是什么?

解答:append是附加贴上的意思,appendChild就是给某个元素贴上孩子的意思。

4、为什么需要appendChild方法?

解答:document的createElement方法创建出来的dom标签对象,如果不append到实体dom标签,那样根本就没加到dom树种,那样创建dom没有意义。

5、如何动态实现表格内容的复制?

解答:通过dom表格的innerHTML属性,cotab.innerHTML=tab.innerHTML;

6、document的createElement方法的返回值是什么?

解答:createElement方法的返回值是创建出来的dom标签对象。

7、如何动态实现表格边框的复制?

解答:通过dom表格标签的border属性。 cotab.border=tab.border;

8、如何动态实现表格样式的复制?

解答:通过dom表格标签的style属性。

9、table标签的常见属性有哪些?

解答:边框border,标题caption等等

10、如何动态修改表格的标题?

解答:通过表格dom对象的caption属性的innerHTML属性。

  1. cotab.border=tab.border;

js如何实现动态克隆一个表格?的更多相关文章

  1. js如何实现动态的在表格中添加和删除行?(两种方法)

    js如何实现动态的在表格中添加和删除行?(两种方法) 一.总结 1.table元素有属性和一些方法(js使用) 方法一:添加可通过在table的innerHTML属性中添加tr和td来实现 tab.i ...

  2. 浅谈js中如何动态添加表头/表列/表格内容

    我想很多童鞋用js动态向表格中添加数据很熟悉,而且也觉得非常简单!是的,对于写页面的童鞋来说,最喜欢写查询的页面了,动态向表格绑定数据.用for循环就可以轻松搞定. 如果我们的业务需求有所变化,可能我 ...

  3. js如何实现动态在表格中添加标题和去掉标题?

    js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...

  4. 如何用easyui+JAVA 实现动态拼凑datagrid表格(续)

    前面一段时间写了一篇文章: 如何用easyui+JAVA 实现动态拼凑datagrid表格 这篇文章的话,效果是可以实现,但是经过我反复试验,还是存在一些问题的. 今天这篇文章就是向大家介绍下如何避免 ...

  5. js如何实现动态点击改变单元格颜色?

    js如何实现动态点击改变单元格颜色? 一.总结 1.通过table的rows属性,遍历表格所有行,然后通过cells属性,遍历每一行中的单元格. 2.遍历的过程中,动态的为每一个单元格定义单击事件,改 ...

  6. bootstrap做了一个表格

    花了一下午做了一个表格: 大致是这样: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf ...

  7. 利用scrapy-splash爬取JS生成的动态页面

    目前,为了加速页面的加载速度,页面的很多部分都是用JS生成的,而对于用scrapy爬虫来说就是一个很大的问题,因为scrapy没有JS engine,所以爬取的都是静态页面,对于JS生成的动态页面都无 ...

  8. [jQuery编程挑战]003 克隆一个页面元素及其相关事件

    挑战: a) 绑定一个点击方法到这个div,点击后此元素会淡出消失 b) 同时克隆一个新的div元素到页面,元素内容是前面div文字内容反向书写(即,sgatbg olleh),同样也具有上面的点击事 ...

  9. 原生js怎么为动态生成的标签添加各种事件

    这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom ...

随机推荐

  1. <link rel="shortcut icon" href="Xubuntu.ico" type="image/x-icon" /> <LINK href="Xubuntu.ico" rel="shortcut icon"> <link href="Xubuntu.ico" rel="B

    <link rel="shortcut icon" href="Xubuntu.ico" type="image/x-icon" /& ...

  2. 18/9/9牛客网提高组Day1

    牛客网提高组Day1 T1 中位数 这好像是主席树??听说过,不会啊... 最后只打了个暴力,可能是n2logn? 只过了前30%  qwq #include<algorithm> #in ...

  3. WPF 入门《常用控件》

    1.GroupBox 注意: GroupBox仍然需要布局容器来放置元素.如: StackPanel面板 <GroupBox Header="select number?"& ...

  4. windows服务插件利器-新生命组件XAgent使用心得

    1.简单介绍 XAgent为大石头带领下的新生命团队自己开发的一个.Net下的常用的Windows服务管理组件利器,通过在控制台中简单的输入1,2,3,4,5等数字可以实现一步安装.卸载Windows ...

  5. Windows上安装多个MySQL实例(转)

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  6. 在安卓(手机)上运行 Ubuntu (Linux)

    在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...

  7. matlab 文件路径问题

    1. fullfile:路径补全 f = fullfile(filepart1,...,filepartN) 显然可变参数之间填充的路径分隔符(path separator),会根据操作系统而变化: ...

  8. ACCESS数据库改名asp或asa

    到把mdb改为asp或asa ACCESS数据库:把数据库后缀名改成ASP是防止ACCESS数据库被下载

  9. [Mobx] Use MobX actions to change and guard state

    This lesson explains how actions can be used to control and modify the state of your application. Th ...

  10. BingMap频繁Add Pushpin和Delete Pushpin会导致内存泄露

    近期在做性能測试的时候发现BingMap内存泄露(memory leak)的问题,查找了一些国外的帖子,发现也有类似的问题,可是没有好的解决的方法. https://social.msdn.micro ...