热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JS动态生成表格案例

JS动态生成表格案例

JS动态生成表格案例

<!DOCTYPE html>
<html lang&#61;"en"><head><meta charset&#61;"UTF-8" /><meta name&#61;"viewport" content&#61;"width&#61;device-width, initial-scale&#61;1.0" /><meta http-equiv&#61;"X-UA-Compatible" content&#61;"ie&#61;edge" /><title>Document</title><style>table {width: 500px;margin: 100px auto;border-collapse: collapse;text-align: center;}td,th {border: 1px solid #333;}thead tr {height: 40px;background-color: #ccc;}</style></head><body><table cellspacing&#61;"0"><thead><tr><th>姓名</th><th>科目</th><th>成绩</th><th>操作</th></tr></thead><tbody></tbody></table><script>// 学生数据var dates &#61; [{name: &#39;鹿乃&#39;,subject: &#39;Javascript&#39;,score: 520,},{name: &#39;花丸&#39;,subject: &#39;Javascript&#39;,score: 100,},{name: &#39;小东&#39;,subject: &#39;Javascript&#39;,score: 98,},{name: &#39;ののの&#39;,subject: &#39;Javascript&#39;,score: 99,},{name: &#39;小鹿包&#39;,subject: &#39;Javascript&#39;,score: 5120,}];var tbody &#61; document.querySelector(&#39;tbody&#39;);// 1. 在 tbody 内创建行&#xff0c;每一行存放一个对象&#xff0c;共 dates.length 行。for (var i &#61; 0; i < dates.length; i&#43;&#43;) {var tr &#61; document.createElement(&#39;tr&#39;);tbody.appendChild(tr);// 2. 在行内创建单元格 每行单元格数量等于一个对象属性数量// 第二层for循环后 k得到的是属性名&#xff0c;dates[i][k]得到的是属性值for (var k in dates[i]) {// 循环的次数为属性个数var td &#61; document.createElement(&#39;td&#39;); // 创建单元格tr.appendChild(td); // 添加单元格td.innerHTML &#61; dates[i][k]; // 将属性值存进单元格 // 开始不明白怎么保证的每个属性值都赋值给新的td &#xff0c;最后我认为是将第i行k列的属性值 放进了 第i行k列的td中&#xff0c;每个td都是与接收的属性值对应的。}// 3. 创建独立的 删除功能单元格var td &#61; document.createElement(&#39;td&#39;);tr.appendChild(td);td.innerHTML &#61; &#39;删除&#39;}// 4. 表格创建完毕 开始实现删除功能// 点击删除 需要删除的是 行tr tr为tbody子元素 需要获取tbodyvar tbody &#61; document.querySelector(&#39;tbody&#39;);// 获取执行删除的avar as &#61; document.querySelectorAll(&#39;a&#39;);for (var i &#61; 0; i < as.length; i&#43;&#43;) {as[i].onclick &#61; function() {// this.parentNode.parentNode 指的就是 trtbody.removeChild(this.parentNode.parentNode); }}</script></body>
</html>

推荐阅读
  • 一、vue介绍Vue.js是一套构建用户界面(UI)的渐进式JavaScript框架,是一个轻量级MVVM(model-view-viewModel&# ... [详细]
  • MQ的使用
    安装环境:linuxredhatactivemq版本:5.8.01.从http:activemq.apache.orgdownload.html地址下载 ... [详细]
  • 如何判断当前浏览器是不是微信浏览器主要代码块functionisWeiXin(){varuawindow.navigator.userAgent.toLowerCase();i ... [详细]
  • Android 自定义控件基础 canvas paint
    1、首先说一下canvas类:ClassOverviewTheCanvasclassholdsthedrawcalls.Todrawsomething,youne ... [详细]
  • 在这一期的SendMessage函数应用中,我将向大家介绍如何利用消息函数来扩展树型列表(TreeView)控件的功能相信对于树型列表控件大家十分的熟悉, ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了展会&NBSP如果值空相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 技术点:1、通过已知的网页路径获得流2、把流转换成字节数组3、把字节数组转换成String字符串显示在TextView控件中一、获得流publicstaticSt ... [详细]
  • 发现很多时候展示一堆文字,需要让局部的某些字变粗啊,变大、变颜色、能点击等等要求,今天在这简单总结下方便日后直接复用(用ht ... [详细]
  • 开发笔记:前端消息提示框汇总 ... [详细]
  • 最近想用js做一个简单的计算器,不过网上的例子好像大部分都是直接从左到右挨个计算,就好像1+2*5,就会先计算1+2,再计算3*5,并没有实现运算符的优先级,这里找到了一种方法实现,来总结一下。不过这 ... [详细]
  • 下面是一个用openssl实现获取https网页内容的demo,整个流程比较简单,主要封装的API如下staticinthttps_init(http ... [详细]
  • java内存模型浅析_浅析Java内存模型
    在并发编程中,需要处理两个关键问题:线程之间如何通信以及线程之间如何同步。通信是指线程之间以何种机制来交换信息。同步是指程序中用于控制不同线程间操作发生 ... [详细]
  • AsyncDisplayKit2.0教程(下)
    AsyncDisplayKit2.0Tutorial:AutomaticLayout原文:AsyncDisplayKit2.0Tutorial:Automatic ... [详细]
  • idea启动springmvc项目时报找不到类的解决方法
    这篇文章主要介绍了idea启动springmvc项目时报找不到类的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值, ... [详细]
  • 最近学习了数据挖掘常用的两种算法:FP-Growth和K-Means。现在把我的学习结果分享给大家。以下是本文的目录,大家可以根据需要跳过一些章节:1.FP-Grow ... [详细]
author-avatar
美娟婉燕6386
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有