js如何动态创建表格(两种方法)

一、总结

一句话总结:

1、方法一:写好创建表格的html代码,将之赋值给div的innerHTML。

2、方法二、直接用创建好的table元素的方法insertRow和insertCell来实现。

3、指定行列创建表格:通过循环。

1、table元素的动态(js中)常用属性有哪些?

解答:tab.width=500;  tab.border=2;。

2、如何得到某个div的第一个table?

解答:var ta=div1.getElementsByTagName('table')[0]。

3、html中元素如何移除自己?

解答:先找父节点,然后移除父节点的子节点。ta.parentNode.removeChild(ta)。

4、insertRow(i)是谁的方法?

解答:table的。

5、insertCell(j)是谁的属性?

解答:row的,tab.rows[i].insertCell(j).innerHTML=i+''+j;。

6、如何访问表格中的第i行的第j列的元素?

解答: tab.rows[i].cells[j].style.background='green'。

7、如何通过创建html语句的方式给div加表格?

解答:var tab='<table border=1 width=500">'  tab+='</table>';  div1.innerHTML=tab。

二、js如何动态创建表格(两种方法)

1、创建指定行,列的表格的案例说明

    • 实例描述:

      根据用户输入数值,创建指定行,列的表格

      案例006/007分别采用不同的思路实现同样的功能

2、表格相关的属性和方法

1.1 Table 对象集合
  • cells[] 返回包含表格中所有单元格的一个数组。

    语法:tableObject.cells[]

  • rows[] 返回包含表格中所有行的一个数组。

    rows 集合返回表格中所有行的一个数组。该集合包括 thead、tfoot 和 tbody 中定义的所有行。

  • tBodies[] 返回包含表格中所有 tbody 的一个数组。

    注:不常用

1.2 Table 对象方法
  • createCaption() 为表格创建一个 caption 元素。
  • createTFoot() 在表格中创建一个空的 tFoot 元素。
  • createTHead() 在表格中创建一个空的 tHead 元素。
  • deleteCaption() 从表格删除 caption 元素以及其内容。
  • deleteRow() 从表格删除一行。
  • deleteTFoot() 从表格删除 tFoot 元素及其内容。
  • deleteTHead() 从表格删除 tHead 元素及其内容。
  • insertRow() 在表格中插入一个新行。
1.3 Table 对象常用属性
  • frame 设置或返回表格的外部边框。
  • rules 设置或返回表格的内部边框(行线)。
  • caption 对表格的 caption 元素的引用。
  • cellPadding 设置或返回单元格内容和单元格边框之间的空白量。
  • cellSpacing 设置或返回在表格中的单元格之间的空白量。
  • summary 设置或返回对表格的描述(概述)。
  • tFoot/tHead 返回表格的 TFoot /tHead对象。如果不存在该元素,则为 null。
  • border/width/id......
1.4 TableRow 对象
    • TableRow 对象方法

      • deleteCell() 删除行中的指定的单元格

        语法:tablerowObject.deleteCell(index)

      • insertCell() 在一行中的指定位置插入一个空的 td 元素。

        tablerowObject.insertCell(index)

        返回值:一个 TableCell 对象,表示新创建并被插入的 元素。

    • TableRow 对象属性
      • vAlign 设置或返回在行中的数据的垂直排列方式。

        语法:tablerowObject.vAlign=top|bottom|middle|baseline

      • rowIndex 返回该行在表中的位置。

        语法:tablerowObject.rowIndex

      其他:align/innerHTML/id......

1.5 TableCell 对象
    • TableCell 对象属性

      • abbr 设置或返回单元格中内容的缩写版本。
      • axis 设置或返回相关单元格的一个逗号分隔的列表。
      • cellIndex 返回单元格在某行的单元格集合中的位置。
      • colSpan 单元格横跨的列数。
      • rowSpan 设置或返回单元格可横跨的行数。
      • vAlign/width/id/align......

3、案例截图

4、代码

代码1:
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<style type="text/css">
</style>
</head>
<body>
<h3>动态创建表格1</h3>
行数 <input type="text" value="5" id="rows">
列数 <input type="text" value="5" id="cols">
<input type="button" value="创建表格" onclick="creatTab()">
<div id="div1"></div>
<script>
function creatTab(){
rows=document.getElementById('rows').value
cols=document.getElementById('cols').value
div1=document.getElementById('div1')
// alert(rows+'\n'+cols)
var tab='<table border=1 width=500">'
for(var i=0;i<rows;i++){
tab+='<tr>'
for(var j=0;j<cols;j++){
tab+="<td style='background:green'>"+i+j+"</td>"
}
tab+='</tr>'
}
tab+='</table>';
div1.innerHTML=tab
}
</script>
</body>
</html>
代码2:
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<style type="text/css">
</style>
</head>
<body>
<h3>动态创建表格1</h3>
行数 <input type="text" value="5" id="rows">
列数 <input type="text" value="5" id="cols">
<input type="button" value="创建表格" onclick="creatTab()">
<div id="div1"></div>
<script>
function creatTab(){
rows=document.getElementById('rows').value
cols=document.getElementById('cols').value
div1=document.getElementById('div1');
var ta=div1.getElementsByTagName('table')[]
if (ta) {ta.parentNode.removeChild(ta)}
var tab = document.createElement("table");
tab.width=500;
tab.border=2;
for(var i=0;i<rows;i++){
tab.insertRow(i)
for(var j=0;j<cols;j++){
tab.rows[i].insertCell(j).innerHTML=i+''+j;
tab.rows[i].cells[j].style.background='green'
}
} document.getElementById("div1").appendChild(tab) }
</script>
</body>
</html>

三、测试题-简答题

1、table元素的动态(js中)常用属性有哪些?

解答:tab.width=500;  tab.border=2;。

2、如何得到某个div的第一个table?

解答:var ta=div1.getElementsByTagName('table')[0]。

3、html中元素如何移除自己?

解答:先找父节点,然后移除父节点的子节点。ta.parentNode.removeChild(ta)。

4、insertRow(i)是谁的方法?

解答:table的。

5、insertCell(j)是谁的属性?

解答:row的,tab.rows[i].insertCell(j).innerHTML=i+''+j;。

6、如何访问表格中的第i行的第j列的元素?

解答: tab.rows[i].cells[j].style.background='green'。

7、如何通过创建html语句的方式给div加表格?

解答:var tab='<table border=1 width=500">'  tab+='</table>';  div1.innerHTML=tab。

js如何动态创建表格(两种方法)的更多相关文章

  1. OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法

    <span style="font-size:24px;">//////第一种方法 // NSMutableArray *arr = [NSMutableArray a ...

  2. js/jq动态创建表格的行与列

    之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...

  3. java动态代理的两种方法

    动态代理,有两种情况,第一种是有接口的情况下,你可以选择为jdk自带的动态代理的方式来编写程序,但你想要为一个实在的类编写动态代理的方式的话,这时候就必须选择一些开源的lib包,如cglib包,同时还 ...

  4. SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法

    软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...

  5. php导出表格两种方法 ——PhpExcel的列子

    php常用的导出表格有两种方法,第一种是输出表格,这种方法打开的时候有警告提示,一般导出表格会用phpexcel,这个导出比较灵活,而且还可以设置表格的样式. 第一种导出例子 /** * 执行导出 * ...

  6. vue父组件向子组件动态传值的两种方法

    在一些项目需求中需要父组件向子组件动态传值,比如我这里的需求是,父组件动态通过axios获取返回的图片url数组然后传给子组件,上传图片的子组件拿到该数组后进行遍历并展示图片,因为有时候获取到的会是空 ...

  7. java_线程创建的两种方法

    线程创建的方法有两种: 一 继承Thread类: public class ThreadTest { public static void main(String[] args) { //4)在mai ...

  8. iOS: JS和Native交互的两种方法

    背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)stringByEvaluatingJavaScriptFromString:(NS ...

  9. js笔记(3)--js实现数组转置(两种方法)

      js实现数组转置   第一种方法:   <script>     window.onload=function(){     var array1=[[11,22,33,333],[4 ...

随机推荐

  1. Apache httpd.conf 配置文件语法验证

    Apache 的 httpd.conf文件改动之后,必须重新启动server才干生效. 有时server在提供服务的时候,直接更改配置,重新启动服务.会带来非常大的危急性. 假设能在改动配置之后,先验 ...

  2. 1.16 Python基础知识 - 装饰器初识

    Python中的装饰器就是函数,作用就是包装其他函数,为他们起到修饰作用.在不修改源代码的情况下,为这些函数额外添加一些功能,像日志记录,性能测试等.一个函数可以使用多个装饰器,产生的结果与装饰器的位 ...

  3. React评论展示案例(包含知识点:state、props、ref、React声明周期、localStorage本地存储等)

    本案例在上一篇的案例(React组件之间通过Props传值的技巧(小案例,帮助体会理解props.state.受控组件和非受控组件等))的基础上加强功能和用户体验,但是当然还有很多需要改进的地方,后期 ...

  4. C# 映射

    public class Myclass1 { private int m_Count = 100; public string love{get;set;} public int Count { g ...

  5. JS面向对象程序设计(OOP:Object Oriented Programming)

    你是如何理解编程语言中的面向对象的? 我们研究JS和使用JS编程本身就是基于面向对象的思想来开发的,JS中的一切内容都可以统称为要研究的“对象”,我们按照功能特点把所有内容划分成“几个大类,还可以基于 ...

  6. C++小项目-本校科协管理系统

    前几天老师说让我把之前做过的一个小项目改动一下,用于新成员练手. 想到在我刚接触面向对象编程的时候,也是急需一个小的case来熟悉和深入对C++的理解.如今搞的这个东西.希望能够帮到学弟学妹们,嘻嘻. ...

  7. js课程 5-14 js如何实现控制动画角色走动

    js课程 5-14 js如何实现控制动画角色走动 一.总结 一句话总结:首先是onkeydown事件,然后是改变元素的left和top属性 1.常用键盘事件有哪些? • onkeydown和 onke ...

  8. 2、Python基本数据类型

    1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即- ...

  9. C#实现人脸识别

    C#实现基于ffmpeg加虹软的人脸识别 关于人脸识别 目前的人脸识别已经相对成熟,有各种收费免费的商业方案和开源方案,其中OpenCV很早就支持了人脸识别,在我选择人脸识别开发库时,也横向对比了三种 ...

  10. VS_VERSION_INFO

    VS_VERSION_INFO这里可以修改ocx的版本号