javascript - 将 table、tr、td 标签附加到 innerHTML 不会创建表格行

标签 javascript html

var menuStarters = [["chicken", "5.00"], ["salad", "4.11"], ["soup", "3.88"]];
document.getElementById("menu").innerHTML += '<table>';
for (var i = 0; i < menuStarters.length; i++)
{
  document.getElementById("menu").innerHTML += '<tr><td>' + menuStarters[i][0] + '</td><td>' + menuStarters[i][1] + '</td></tr>';
}
document.getElementById("menu").innerHTML += '</table>';

我确定我可能遗漏了一些明显的东西。

最佳答案

文档中不能有部分标签。添加开口 <table>innerHTML将导致插入一个完整的(闭合的)标签。随后的添加在表格之外,其中 trtd是非法的。

首先构建字符串,然后将其添加到容器中:

var menuStarters = [
  ["chicken", "5.00"],
  ["salad", "4.11"],
  ["soup", "3.88"]
];

var thtml = '<table>';
for (var i = 0; i < menuStarters.length; i++) {
  thtml += '<tr><td>' + menuStarters[i][0] + '</td><td>' + menuStarters[i][1] + '</td></tr>';
}
thtml += '</table>';

document.getElementById("menu").innerHTML += thtml
<div id="menu"></div>

关于javascript - 将 table、tr、td 标签附加到 innerHTML 不会创建表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837265/

相关文章:

javascript - 在 JavaScript 中是否有可能获得对唯一 DOM 元素的唯一引用(用作对象中的唯一键)?

JavaScript-更改输入标签颜色?

javascript - 显示基于输入类型和验证的不同错误

html - 如何使用 css 实现这种透明效果?

Jquery计算一个div的最小所需高度值

Javascript onclick 函数增加变量的值

javascript - Windows 8 预加载器(加载图标)使用 HTML5 和没有图像的 javascript

javascript - 使用 angularjs 和 jquery 创建动态可扩展表

javascript - 如何激活某个div

html - Font Pixeled - 见附件