js如何动态创建表格(两种方法)
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 对象,表示新创建并被插入的 元素。
- deleteCell() 删除行中的指定的单元格
- TableRow 对象属性
- vAlign 设置或返回在行中的数据的垂直排列方式。
语法:tablerowObject.vAlign=top|bottom|middle|baseline
- rowIndex 返回该行在表中的位置。
语法:tablerowObject.rowIndex
其他:align/innerHTML/id......
- vAlign 设置或返回在行中的数据的垂直排列方式。
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如何动态创建表格(两种方法)的更多相关文章
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
<span style="font-size:24px;">//////第一种方法 // NSMutableArray *arr = [NSMutableArray a ...
- js/jq动态创建表格的行与列
之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...
- java动态代理的两种方法
动态代理,有两种情况,第一种是有接口的情况下,你可以选择为jdk自带的动态代理的方式来编写程序,但你想要为一个实在的类编写动态代理的方式的话,这时候就必须选择一些开源的lib包,如cglib包,同时还 ...
- SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法
软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...
- php导出表格两种方法 ——PhpExcel的列子
php常用的导出表格有两种方法,第一种是输出表格,这种方法打开的时候有警告提示,一般导出表格会用phpexcel,这个导出比较灵活,而且还可以设置表格的样式. 第一种导出例子 /** * 执行导出 * ...
- vue父组件向子组件动态传值的两种方法
在一些项目需求中需要父组件向子组件动态传值,比如我这里的需求是,父组件动态通过axios获取返回的图片url数组然后传给子组件,上传图片的子组件拿到该数组后进行遍历并展示图片,因为有时候获取到的会是空 ...
- java_线程创建的两种方法
线程创建的方法有两种: 一 继承Thread类: public class ThreadTest { public static void main(String[] args) { //4)在mai ...
- iOS: JS和Native交互的两种方法
背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)stringByEvaluatingJavaScriptFromString:(NS ...
- js笔记(3)--js实现数组转置(两种方法)
js实现数组转置 第一种方法: <script> window.onload=function(){ var array1=[[11,22,33,333],[4 ...
随机推荐
- (cocos2d-js游戏)測试你的反应速度----------基本逻辑(上)
游戏玩法:点击開始游戏.等待一个随机时间.然后背景颜色会变(在t1时刻),这时候你须要点击屏幕(在t2时刻),游戏结束.你的反应时间就是天t2-t1. 游戏逻辑: 游戏逻辑非常easy,如上图所看到的 ...
- JQuery 当点击input后,单选多选的选中状态
1.当点击input元素,此元素的选中checked的值 = 此元素此时表现的选中与否的状态. eg:input元素开始是未选中,点击后表现的是选中状态,此元素的checked为true(和此元素开始 ...
- Vue使用Promise自定义confirm确认框组件
使用Promise模拟浏览器确认框,可自定义标题,内容,按钮文字和类型 参数名 类型 说明 title String 标题 content String 内容 yesBtnText String 确认 ...
- 洛谷 P2368 EXCEEDED WARNING B
P2368 EXCEEDED WARNING B 题目背景 SGU 107 题目描述 求有多少个平方后末尾为987654321的n位数 输入输出格式 输入格式: 整数n 输出格式: 答案,即[b]“平 ...
- java 编程思想-java运算符--曾经不太明确的
1.java 运算符 主要是逻辑运算符和按位运算符;移位运算符-name tecmint.txt 逻辑运算符:And(&&) ; OR(||);Not(!) 按位运算符:And(&am ...
- Git 经常使用命令
Git经常使用命令备忘: Git配置 git config --global user.name "storm" git config --global user.email &q ...
- Android 仿今日头条频道管理(下)(GridView之间Item的移动和拖拽)
前言 上篇博客我们说到了今日头条频道管理的操作交互体验,我也介绍了2个GridView之间Item的相互移动.详情请參考:Android 仿今日头条频道管理(上)(GridView之间Item的移动和 ...
- 零基础学python-2.3 凝视
在python里面,使用"#"号表示凝视的開始,一整行到结束就是凝视,他的主要作用提示这段代码到底有什么用处 print("---------欢迎来到猜数字的地方.请開始 ...
- windows 开机总动运行bat文件
抄自 https://blog.csdn.net/csdnliuxin123524/article/details/78949803 就是把bat文件放到 开始->启动 的那个文件夹里就可 ...
- 9.13 Binder系统_Java实现_内部机制_Server端
logcat TestServer:* TestClient:* HelloService:* *:S &CLASSPATH=/mnt/android_fs/TestServer.jar ap ...