首页
学习
活动
专区
圈层
工具
发布

js写一个表格

以下是使用 JavaScript 创建一个简单表格的示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>JavaScript 表格</title>
  <style>
    table {
      border-collapse: collapse;
      width: 50%;
      margin: 0 auto;
    }

    th,
    td {
      border: 1px solid black;
      padding: 8px;
      text-align: center;
    }

    th {
      background-color: #f2f2f2;
    }
  </style>
</head>

<body>
  <div id="table-container"></div>

  <script>
    function createTable(data) {
      let table = document.createElement('table');
      let thead = document.createElement('thead');
      let tbody = document.createElement('tbody');

      let headerRow = document.createElement('tr');
      Object.keys(data[0]).forEach(key => {
        let th = document.createElement('th');
        th.textContent = key;
        headerRow.appendChild(th);
      });
      thead.appendChild(headerRow);
      table.appendChild(thead);

      data.forEach(item => {
        let row = document.createElement('tr');
        Object.values(item).forEach(value => {
          let td = document.createElement('td');
          td.textContent = value;
          row.appendChild(td);
        });
        tbody.appendChild(row);
      });
      table.appendChild(tbody);

      return table;
    }

    let data = [
      { name: '张三', age: 25, gender: '男' },
      { name: '李四', age: 30, gender: '女' },
      { name: '王五', age: 28, gender: '男' }
    ];

    let tableContainer = document.getElementById('table-container');
    tableContainer.appendChild(createTable(data));
  </script>
</body>

</html>

基础概念:上述代码主要涉及 HTML 中的表格元素(<table><thead><tbody><tr><th><td>),以及 JavaScript 的 DOM 操作。

优势:

  1. 动态生成:可以根据数据动态创建表格,灵活性高。
  2. 可定制性强:可以通过修改样式和结构来满足不同的需求。

类型:这是一个基于数据的简单表格。

应用场景:

  1. 展示数据列表,如用户信息、商品列表等。
  2. 数据录入和编辑界面。

常见问题及解决方法:

  1. 表格样式错乱:确保 CSS 样式正确设置,特别是边框和间距。
  2. 数据渲染不正确:检查数据格式是否正确,以及遍历数据生成表格元素的逻辑是否有误。

希望这个示例对你有帮助,如有其他需求,请继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 用原生js写一个多动症的简历

    用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...会动的简历实现思路 这张会动的简历,就好像一个打字员在不断地录入文字,页面呈现动态效果。又好像一个早已经录制好影片,而我们只是坐在放映机前观看。...background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生dom操作api standard.js...代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...但是含有一个问题,如果涉及到很多个异步操作,我们是很难通过上面的方式将异步流程管理起来的。

    7.9K70

    如何写一个 JS 运行时

    前言:随着 Node.js 的出现和不断发展,其他新的 JS 运行时也穷出不断,Deno、Just、Bun等等。...本文简单介绍一下如何写一个 JS 运行时,相比操作系统、编译器来说,写一个 JS 运行时理论上并不是一个难的事情,但是写一个优秀且功能齐全的运行时并不是一个容易的事情。...JS 引擎 写一个 JS 运行时,首先就必须需要一个 JS 引擎来处理 JS,大部分的 JS 运行时都是基于 V8的,当然你也可以使用其他的 JS 引擎。...所以首先需要选择一个 JS 引擎,然后下载代码,编译成功。有了 JS 引擎,就可以通过它提供的一些 API 实现一个可以执行 JS 代码的软件。...但是还有一个重要的部分需要实现,那就是模块加载器,内置的功能可以通过挂载到全局变量的方式来实现,这样用户就不需要通过模块加载器的方式来使用拓展功能,但是用户的 JS,还是需要一个模块加载器。

    2.3K30

    用原生js写一个多动症的简历

    用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...会动的简历实现思路 这张会动的简历,就好像一个打字员在不断地录入文字,页面呈现动态效果。又好像一个早已经录制好影片,而我们只是坐在放映机前观看。...background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生dom操作api standard.js...(代码风格约束利器) 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...但是含有一个问题,如果涉及到很多个异步操作,我们是很难通过上面的方式将异步流程管理起来的。

    6.2K20

    如何写毕业论文 表格

    毕业论文的表格要求是三线表。 本文告诉大家如何使用word弄三线表 如果对于每个表格都做一次,那么在表格比较多,就不好,于是做成样式比较好。 如何做成样式? 首先,随意弄一个表格 ?...然后就需要把表格弄成图片的三线表 ? 如何弄?我就来告诉大家,很简单。 选择样式 点击表格,然后选择设计 ?...选择应用于标题栏,请看图,一开始为整个表格,设置让他为标题栏 ? ? 选择大小为 1.5 ,如上图,然后点田 ? ? 选择上框线 ? 然后点击大小,选择1.5 ?...点击应用整个表格 ? 点击田,下款 ? ? 选择大小 1 ? 把样式放在表格 点击确定保存样式 然后点击表格,点击样式,样式就是刚才保存的样式,就可以了 ?

    1.9K10

    分享一个基于jQuery的锁定表格行列的js脚本。

    网上也有很多锁定行列的方法,一个是使用css,另一个就是专门的控件附带有锁定的功能。css的大多数锁定行,而不能锁定列。...其实以前也做过两个版本,因为以前js很烂,也不知道有jQuery这样的东东,于是就想了一个笨法。...然后在写一个滚动事件,在divMain的滚动条滚动的事件里,同时滚动上面的div和左面的div。这样就形成了一个锁定的效果。   这个方法的缺点很多了,但是水平很烂,也只能这样了。...现在想要提高一下js水平,那么就要弄个更好一点的。把整个table都拷贝过去是不是太浪费了?能不能只拷贝要锁定的行、列?   ...1、引用jquery-1.4.2.js   2、引用scroll-1.0.js (下载)   3、在要锁定的table外面加上一个div,并且设置id   4、调用js函数,myScroll('div_Main

    4K60

    实战 | 用原生js写一个多动症的简历

    又好像一个早已经录制好影片,而我们只是坐在放映机前观看。...接下来让我们一步步完成它 项目搭建 在这个项目中我们 1、使用webpack2来完成项目的构建 2、使用yarn来处理依赖包的管理 3、使用es6的写法 4、使用部分原生dom操作api 5、standard.js...代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(封装的dom操作模块) 最后app.js...可以看出它做的事就是封装一个构造函数Vquery,它的实例会有一些简单的dom操作方法,最后为了能够像jQuery那样使用$().funcName的形式去使用,我们导出了一个匿名函数,在匿名函数中去new...但是含有一个问题,如果涉及到很多个异步操作,我们是很难通过上面的方式将异步流程管理起来的。于是我们需要做下面一件事 内部的next函数就是 thunk 的回调函数。

    4.8K10

    如何用JS写一个table组件 | 作业讲解

    第二种,从JavaScript的模块化开发角度来讲,一个function就是一个模块,例如: function isGet(){ //get... } 这个函数就是一个JS模块,它是有逻辑的。...一个组件可以说它是一个JS模块,但一个JS模块,却未必是一个组件。...所以你会看到一个组件里面包含了许多函数、方法或是许多JS文件。 这就引出下一个问题,组件的组织。也就是单一功能的再细分,用笔先写出一个个的点。。...}, isCheck:{ isCheckStatus:1 }, isDel:{ isDelStatus:0 }, isWidth:500 ... .. } 这个config定义了这个表格...然后定义一个函数,createTableUI(),,, (写这东西真累,这么多字了,开头还没写完,还不一定有人爱看。

    5.1K50

    JS导出JSON到Excel表格

    导出 $("#export").click(function () { ...

    17.2K10

    绕过JS写爬虫

    其中,东方财富网有许多数据,其中有一个是机构调研的数据。      ...http://data.eastmoney.com/jgdy/tj.html       我们希望抓取的是js生成的表格。      ...这种带有js的网站抓取其实不是那么简单的,基本分为那么几种方法,一种是观察页面,有的会有json数据,有的有js代码可以解析目标的url;一种是使用渲染工具;还有一种就是用工具来点击相关button,来抓取...我们希望爬取的是表格中的数据,但是如果我们仔细看一下html代码,会发现,这其实是js生成的,下面这张图是源代码的截图。 ?       这就很尴尬了,怎么办呢?...至于最后面一个数字,目前猜测是一个计数标记,所有的api中设置一致就可以了。       接下来我们就可以用urllib来获得api背后的json内容了,比如是这样的: ?

    17.6K20

    js写插件教程

    html中了;请把这个script标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响 //头部的win...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...,document,jQuery) 或者写在一个闭包里(function(){           }()) */ (function(win,doc,undefined){...//我们随便写一个插件吧 比如你要点击按钮 添加input的值到 div里 var addHtml = function(demo,btn){//插件名,调用的时候直接new一下插件名就行了并传参数或者传对象...;这里可能不止一个函数;你还记得你在全局里写一个个的function吗;贼乱; //找也不好找;把一个个函数都写到对象的属性里;调用函数就直接调用对象的属性; constructor

    42.2K10

    一个用js写的接口http调试程序

    所曾经端app与后台的开发与測试过程中接口调试是一个常常要做的工作。 而每当出现一个BUG,前端appproject师与后台project师往往要相互合作才干定位bug到底在那里。...而非本项目的人往往还难以帮上忙(必需要读懂别人写的程序,等等的。...开发们都懂的…) 所以自己利用了业余时间用js+hta的方式实现了一个简单的接口调试程序.能够由非开发者对比接口文档就能够进行接口的调试和測试。...下面是程序界面 这是一个机票程序的的接口调用程序,在这个程序中能够调试全部的接口 左側是各个接口的命名,每点击左側的接口名,右側的url和req(请求參数)会对应变为该接口的URL和參数样例,点以下的...程序小巧(10-100k) 该程序入门简单(仅仅须要懂一点html语法与js就可以), 改动easy(用记录本打开就能改动), 执行easy(windows环境下双击执行就可以) 实在是居家旅行,出差工作

    2.5K10
    领券