js动态表格创建

article/2025/9/27 16:50:32

js动态表格创建

        • 1、一个table表格,表格分为两个部分,上面是thead表头,表头里面仅一行,有3列(th), 下面是tbody表格内容,要求tbody中的每一行都是用js动态创建的
        • 2、通过点击“生成”按钮,在div标签里生成一个自定义行数和列数的表格
        • 3、点击按钮增加表格行
        • 4、点击按钮删除单元格
        • 5、任意增删表格行

1、一个table表格,表格分为两个部分,上面是thead表头,表头里面仅一行,有3列(th), 下面是tbody表格内容,要求tbody中的每一行都是用js动态创建的

在这里插入图片描述
1 布局

<table><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody></tbody>
</table>

2 样式

	   *{margin: 0;padding: 0;}td{border:1px solid;}th{border:2px solid red;}

3 js动态创建表格:

  • 第一步:先准备数据,一共有三个人的信息,作为三个对象放进数组中
 var arr=[{name:'Jack',age:18,gendar:'男'},{name:'Rose',age:19,gendar:'女'},{name:'Danny',age:20,gendar:'男'}]
  • 第二步:创建行
//创建行var str=''arr.forEach(function(){str+='<tr>'str+='</tr>'})
  • 第三步:创建单元格,同时填充内容
for(var key in a){str+='<td>'+a[key]+'</td>'}
  • 第四步:js给表格设置样式(在css中也可以设置)
   	 document.querySelector('table').width='300px'document.querySelector('table').height='100px'document.querySelector('table').style.borderCollapse='collapse'document.querySelector('table').style.textAlign='center'

4 完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title></title><style>*{margin: 0;padding: 0;}td{border:1px solid;}th{border:2px solid red;}</style>
</head>
<body><table><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody></tbody></table><script>//准备数据var arr=[{name:'Jack',age:18,gendar:'男'},{name:'Rose',age:19,gendar:'女'},{name:'Danny',age:20,gendar:'男'}]//创建行var str=''arr.forEach(function(a){str+='<tr>'//创建单元格,同时填充内容for(var key in a){str+='<td>'+a[key]+'</td>'}str+='</tr>'})//将创建好的内容放入tbody标签内document.querySelector('tbody').innerHTML=str//js给表格设置样式document.querySelector('table').width='300px'document.querySelector('table').height='100px'document.querySelector('table').style.borderCollapse='collapse'document.querySelector('table').style.textAlign='center'</script>
</body>
</html>

2、通过点击“生成”按钮,在div标签里生成一个自定义行数和列数的表格

在这里插入图片描述
1 布局

 行数:<input type="text" id="hang" value="">列数:<input type="text" id="lie" value=""><input type="button" value="生成" onclick="fn()"><div id="divid"></div>

2 js动态创建表格:

  • 第一步:获得行数和列数
		 var h=document.getElementById('hang')-0var l=document.getElementById('lie')-0
  • 第二步:生成表格
var taBle="<table style='border:1px solid red;border-collapse:collapse;text-align:center'>"taBle+='</table>'
  • 第三步: 生成行
   for(var i=1;i<=h;i++){taBle+='<tr>'taBle+='</tr>'}
  • 第四步:生成单元格
   		for(var j=1;j<=l;j++){taBle+='<td style="border:1px solid;width:50px;height:20px">'+'aaa'+'</td>'}
  • 第五步:将表格放进div里
divid.innerHTML=taBle

3 全部代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><!-- 1 布局 -->行数:<input type="text" id="hang" value="">列数:<input type="text" id="lie" value=""><input type="button" value="生成" onclick="fn()"><div id="divid" style="margin: 10px;"></div><script>//2 点击按钮时运行的函数function fn(){//第一步:获得行数和列数var h=document.getElementById('hang').value-0var l=document.getElementById('lie').value-0//第二步:生成表格var taBle="<table style='border:1px solid red;border-collapse:collapse;text-align:center'>"//第三步: 生成行for(var i=1;i<=h;i++){taBle+='<tr>'//第四步:生成单元格for(var j=1;j<=l;j++){taBle+='<td style="border:1px solid;width:50px;height:20px">'+'aaa'+'</td>'}taBle+='</tr>'}taBle+='</table>'//第五步:将表格放进div里divid.innerHTML=taBle}</script>
</body>
</html>

3、点击按钮增加表格行

在这里插入图片描述
1 布局

<input type="button" value="增加表格行" onclick="fn2()"><table></table>

2 js动态创建表格:

  • 获取表格
var tAble=document.querySelector('input+table')tAble.setAttribute('style','color:gold;border-collapse:collapse')tAble.width='300px'
  • 生成表头
 var brr=['姓名','年龄','性别']var tHead='<thead>'brr.forEach(function(a){tHead+='<th style="border:1px solid red">'+a+'</th>'})tHead += '</thead>'tAble.innerHTML=tHead
  • 点击按钮增加表格行
function fn2(){var   tR=document.createElement('tr')   var   str='<td style="border:1px solid #000">a</td><td style="border:1px solid #000">a</td><td style="border:1px solid #000">a</td>'tR.innerHTML=strtAble.appendChild(tR)}

3 全部代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><!-- 布局 --><input type="button" value="增加表格行" onclick="fn2()"><table></table><script>//获取表格var tAble=document.querySelector('input+table')tAble.setAttribute('style','color:gold;border-collapse:collapse')tAble.width='300px'//生成表头var brr=['姓名','年龄','性别']var tHead='<thead>'brr.forEach(function(a){tHead+='<th style="border:1px solid red">'+a+'</th>'})tHead += '</thead>'tAble.innerHTML=tHead//点击按钮增加表格行function fn2(){var   tR=document.createElement('tr')   var  str='<td style="border:1px solid #000">a</td><td style="border:1px solid #000">a</td><td style="border:1px solid #000">a</td>'tR.innerHTML=strtAble.appendChild(tR)}</script>
</body>
</html>

4、点击按钮删除单元格

1 布局

<input type="button" value="删除表格行" id="dele" onclick="del()"><table></table>

2 动态生成表格

  • 第一步 生成表头
 tabLe=document.querySelector('#dele+table')tabLe.width='300px'tabLe.style.borderCollapse='collapse'var crr=['姓名','年龄','性别']var tHEad='<thead>'crr.forEach(function(a){tHEad+='<th style="border:1px solid blue">'+a+'</th>'})tHEad+='<th style="border:1px solid blue">'+' &nbsp; &nbsp; &nbsp;'+'</th>'tHEad+='</thead>'tabLe.innerHTML=tHEad
  • 第二步 添加内容
var tbOdy=document.createElement('tbody')var drr=[{name:'Jack',age:18,gendar:'男',},{name:'Rose',age:19,gendar:'女'},{name:'Danny',age:20,gendar:'男'}]var str2=''for(var i=0;i<drr.length;i++){str2+='<tr>'for(var key in drr[i]){str2+='<td style="border:1px solid">'+drr[i][key]+'</td>'}str2+='<td style="border:1px solid">'+'<input type="checkbox" name="checkRow">'+'</td>'str2+='</tr>'}tbOdy.innerHTML=str2tabLe.appendChild(tbOdy)
  • 第三步 点击按钮删除表格行
function del(){var text=document.getElementsByName('checkRow')console.log(text)for(var i=0;i<text.length;i++){if(text[i].checked){var TR=text[i].parentNode.parentNodeconsole.log(TR)tbOdy.removeChild(TR)i--}}}

3 全部代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><input type="button" value="删除表格行" id="dele" onclick="del()"><table></table><script>//第一步 生成表头tabLe=document.querySelector('#dele+table')tabLe.width='300px'tabLe.style.borderCollapse='collapse'var crr=['姓名','年龄','性别']var tHEad='<thead>'crr.forEach(function(a){tHEad+='<th style="border:1px solid blue">'+a+'</th>'})tHEad+='<th style="border:1px solid blue">'+' &nbsp; &nbsp; &nbsp;'+'</th>'tHEad+='</thead>'tabLe.innerHTML=tHEad//第二步 添加内容var tbOdy=document.createElement('tbody')var drr=[{name:'Jack',age:18,gendar:'男',},{name:'Rose',age:19,gendar:'女'},{name:'Danny',age:20,gendar:'男'}]var str2=''for(var i=0;i<drr.length;i++){str2+='<tr>'for(var key in drr[i]){str2+='<td style="border:1px solid">'+drr[i][key]+'</td>'}str2+='<td style="border:1px solid">'+'<input type="checkbox" name="checkRow">'+'</td>'str2+='</tr>'}tbOdy.innerHTML=str2tabLe.appendChild(tbOdy)//第三步 点击按钮删除表格行function del(){var text=document.getElementsByName('checkRow')console.log(text)for(var i=0;i<text.length;i++){if(text[i].checked){var TR=text[i].parentNode.parentNodeconsole.log(TR)tbOdy.removeChild(TR)i--}}}</script>
</body>
</html>

5、任意增删表格行

在这里插入图片描述
1 布局

 <input type="button" value="增加表格行" id="aDD" onclick="add()"><input type="button" value="删除表格行" id="deTe" onclick="dele()"><table id="table5"><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody></tbody></table>

2 js 动态创建表格

  • 点击按钮增加表格
var tbodY=document.querySelector('#table5 tbody')function add(){var tatr=document.createElement('tr')var tatd1=document.createElement('td')var tatd2=document.createElement('td')var tatd3=document.createElement('td')tatr.appendChild(tatd1);tatr.appendChild(tatd2);tatr.appendChild(tatd3);tbodY.appendChild(tatr);}
  • 点击按钮删除最后一行
 function dele(){tbodY.removeChild(tbodY.lastChild)}

3 全部代码

 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>#table5{width: 300px;text-align: center;border-collapse: collapse;}#table5 td,th{border:1px solid;height: 30px;}</style>
</head>
<body><h3>5、任意增删表格行</h3><!-- 布局 --><input type="button" value="增加表格行" id="aDD" onclick="add()"><input type="button" value="删除表格行" id="deTe" onclick="dele()"><table id="table5"><thead><tr><th>姓名</th><th>年龄</th><th>性别</th></tr></thead><tbody></tbody></table><script>// 点击按钮增加表格var tbodY=document.querySelector('#table5 tbody')function add(){var tatr=document.createElement('tr')var tatd1=document.createElement('td')var tatd2=document.createElement('td')var tatd3=document.createElement('td')tatr.appendChild(tatd1);tatr.appendChild(tatd2);tatr.appendChild(tatd3);tbodY.appendChild(tatr);}//点击按钮删除最后一行function dele(){tbodY.removeChild(tbodY.lastChild)}</script>
</body>
</html>

http://chatgpt.dhexx.cn/article/Lp2HjGp0.shtml

相关文章

JavaScript动态生成表格

源代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content…

关闭nginx的日志记录

error.log&#xff1a;存放错误日志 access.log&#xff1a;存放用户访问记录日志

Linux系统关闭nginx,linux下nginx启动、重启、关闭

方式一:传统方法 一、启动 cd usr/local/nginx/sbin ./nginx 二、重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/nginx/sbin ./nginx -s reload 判断配置文件是否正确 nginx -t -c /usr/local/nginx/conf/nginx.conf 或者 cd /usr/local…

Linux-Centos设置Redis自启及关闭Nginx自启

前提&#xff1a; 这次的操作是在华为云上进行操作。 全程的操作非常快&#xff0c;只是我第一次进行操作比较缓慢&#xff0c;且进行了一系列的查看相应的文件。 设置守护进程 这一步我也不确定&#xff0c;毕竟我还是熟悉Windows操作系统&#xff0c;这个设置守护进程的是…

windows快速关闭nginx

windows快速关闭nginx 提出问题 使用windows开发学习,使用本地得nginx测试,发现关闭nginx比较麻烦,有时候还关不掉 使用命令行快速关闭nginx 以管理员得身份打开dos命令窗口 如图:以win10系统为例 直接输入命令 taskkill /f /t /im nginx.exe总结 x.exe ## 总结使用这种…

windows命令行停止nginx运行

检查nginx是否启动 tasklist /fi "imagename eq nginx.exe" 停掉nginx&#xff0c;可通过任务管理器杀死进程&#xff0c;也可通过命令行 taskkill /f /t /im nginx.exe ####该命令行会关闭nginx的所有进程【但有时候无法关掉相关子进程&#xff08;同时配置多个…

CentOS 7.6 安装Nginx及关闭nginx默认配置

我使用的服务器是阿里云的服务器。 配置好后&#xff0c;直接用IP访问网站没有问题&#xff0c;但是使用域名解析访问一直是welcome to nginx&#xff01;页面&#xff0c;是因为其使用了默认配置&#xff0c;将下文所给配置中第19行注释掉即可&#xff01; 首先更新一下yum y…

windows kill 具体端口 线程 关闭nginx

下载了一个nginx 在windows 上面运行&#xff0c;可是启动的过程中闪退&#xff0c;在网上查询原因是因为80端口被占用&#xff0c;那么我修改了conf 文件夹下面的nginx.conf 配置文件&#xff0c;我把端口修改为7090&#xff0c;然后重新运行nginx.exe 运行了若干次发现都是在…

windows自动关闭nginx脚本

#复制如下内容&#xff0c;保存成stop-nginx.bat文件,双击可快速关闭nginx进程 echo off tasklist | find /i "nginx.exe" && taskkill /f /im nginx.exe || echo 试试吧关着呢

windows启动和关闭nginx

1、进入nginx的目录 2、启动nginx start nginx 会闪出一个黑窗口然后自动关闭 3、查看nginx是否启动 tasklist /fi "imagename eq nginx.exe" 4、重启nginx nginx -s reload 5、关闭nginx taskkill /f /t /im nginx.exe

Nginx的启动和关闭

Nginx服务器启停命令 Nginx安装完成后&#xff0c;接下来我们要学习的是如何启动、重启和停止Nginx的服务。对于Nginx的启停在linux系统中也有很多种方式&#xff0c;我们本次课程介绍两种方式&#xff1a; 1.Nginx服务的信号控制 2.Nginx的命令行控制 方式一:Nginx服务的信…

windows关闭nginx

检查nginx是否启动 在cmd命令窗口输入下面命令进行查看 tasklist /fi "imagename eq nginx.exe" 出现如下图结果说明启动成功&#xff1a; 关闭或停止nginx 我们通过在cmd命令窗口&#xff0c;输入相关的nginx命令来关闭或停止nginx 具体命令如下&#…

vrtualbox虚拟机全屏显示

问题描述&#xff1a;在virtualbox中安装虚拟机后&#xff0c;不能全屏显示&#xff0c;比如下图。 解决方法&#xff1a;点击“设备”&#xff0c;选最下方的“安装增强功能”&#xff0c;然后输入密码&#xff0c;安装后重启即可 如果重启后还是不能全屏显示&#xff0c;可能…

KVM虚拟化安装的虚拟机全屏设置

当我们用KVM虚拟化装机发现装出来的机子屏幕特小不方便使用 怎么设置全屏化呢&#xff1f;网上大多是安装VMware—tools工具&#xff0c;其实不用安装也能放大 CtrlAltEnter放大全屏化(缩小回来一样)

VMware上虚拟机全屏显示——VMware Tools的安装

在VMware上创建的新系统比如Ubuntu一开始是不能全屏显示的&#xff0c;看起来很别扭。安装好VMware Tools就可以解决这个问题。 详细的安装过程如下&#xff1a; 1、在客户机上下载VMware Tools映像文件&#xff0c;然后将其中的压缩文件复制到主目录。 2、使用【tar -zxvf VM…

虚拟机Ubuntu21.04全屏显示

①打开虚拟机工具栏中的【虚拟机&#xff08;V&#xff09;】 ②在其下拉菜单中鼠标左键单击【安装VmwareTools】或者【安装Vmware Tools】 ③安装VmwareTools后会有相应的压缩包&#xff0c;复制安装包到主目录下 ④按【CtrlAltT】打开终端&#xff0c;并输入tar -zxvf VMware…

VMware虚拟机如何全屏显示

1&#xff1a;安装VMware tools&#xff1b; 按照步骤提示&#xff0c;等待VMware tools安装完成&#xff1b; 2&#xff1a;查看--自适应客户机

虚拟机全屏问题

虚拟机下面安装了ubuntu系统&#xff0c;显示的屏幕只有那么一小块儿&#xff0c;不知道如何才能全屏&#xff0c;那么如何全屏呢&#xff1f;且看下面经验。 1、打开虚拟机&#xff0c;并点击要更改成全屏的那个ubuntu系统的电源&#xff0c;我的虚拟机名字就叫ubuntu&#xf…

虚拟机安装macOS无法全屏

下载VMware Tools工具 进入https://customerconnect.vmware.com/en/downloads/details?downloadGroupVMTOOLS1130&productId1073&rPId68195 选择macOS的tools工具下载&#xff0c;登录账号即可下载 下载后解压&#xff0c;得到最重要的iso文件 挂载VMware Tools镜…

解决virtualbox win7虚拟机全屏问题

在安装增强功能的时候&#xff0c;在下面这个页面取消选择Direct3D这个选项即可 系统重启后&#xff0c;点击全屏就ok了