javascript - 通过按钮生成表格

标签 javascript html

我有一张只有一个 td 的表,并且有两个按钮,一个创建另一个 td。 问题是,当我创建 tr 时,下一个 td 不会插入上次创建的 tr。

var table = document.createElement('table');
document.body.appendChild(table)

var tr = document.createElement('tr');
table.appendChild(tr);

var td = document.createElement('td');
tr.appendChild(td);

var createTd = document.createElement('button');
createTd.innerHTML = 'Create td';
document.body.appendChild(createTd);

var createTr = document.createElement('button');
createTr.innerHTML = 'Create tr';
document.body.appendChild(createTr);

createTd.addEventListener('click', function() {
  var td = document.createElement('td');
  tr.appendChild(td);
})

createTr.addEventListener('click', function() {
  var tr = document.createElement('tr');
  table.appendChild(tr);
})
td,
tr {
  border: 1px solid black;
  padding: 10px;
}

您可以在这里尝试演示:Demo

最佳答案

问题是您创建的 tr 是本地的,并且您添加到全局 tr 中。只需从内部 tr 中删除 var,如下所示:

createTr.addEventListener('click',function() {
   tr = document.createElement('tr');
  table.appendChild(tr);
})

这是一个工作 demo

关于javascript - 通过按钮生成表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40350928/

相关文章:

javascript - div为 'shown'后才运行Javascript,显示:block

javascript - jQuery/HTML - 在使用等宽字体时,如何使空格 ( ) 占用与另一个字符相同的空间量?

javascript - JQuery Ajax 强制页面刷新

html - 当我将鼠标悬停在导航栏中时,如何填充文本背后的背景? [HTML/CSS]

html - 当其中有不同的列数时,如何制作 Bootstrap 3 样式表来填充其行?

javascript - 间歇性 JavaScript 问题

javascript - 在运行任何其他 JavaScript 之前在 UIWebView 中运行 JavaScript

javascript - 函数调用如何在 javascript 中工作?

javascript - 在企业应用程序框架中包含 js/css 文件的最佳做法是什么?

html - 将 HTML 插入到 golang 模板