javascript - 将数组中的项目添加到 HTML 表
问题描述
如何在使用按钮将每个元素添加到 HTML 表中时遍历 JavaScript 中的数组?(即单击一个按钮,“Rigatoni”被添加到一个表中。)
function New_Item() {
const Ingredients = ["Rigatoni", "Pesto", "Crushed Tomatoes", "Pasta Water", "Mozzarella Cheese", "Fresh Chopped Basil"]
for (var x = 0; x < Ingredients.length; x++)
var table = document.getElementById("myTable");
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
cell1.innerHTML = Ingredients;
}
<table id="myTable">
<header>
<tr>
<td>Ingredient</td>
</tr>
</header>
<footer>
</footer>
</table>
<button type="button" onclick="New_Item()">Add Ingredient</button>
解决方案
如果我理解你的问题,这就是我的解决方案。
编辑:我添加了带有循环而不是按钮的代码,您可以删除按钮标签。
<script>
var current=0;
const Ingredients = ["Rigatoni", "Pesto", "Crushed Tomatoes", "Pasta Water", "Mozzarella Cheese", "Fresh Chopped Basil"];
function New_Item() {
if (current < Ingredients.length) {
var table = document.getElementById("myTable");
var row = table.insertRow(current+1);
var cell1 = row.insertCell(0);
cell1.innerHTML = Ingredients[current];
current++;
}
}
/* Second version with loop */
window.onload = function(e) {
Ingredients.forEach(function(item, index, array) {
New_Item_with_loop(index);
});
}
function New_Item_with_loop(index) {
var table = document.getElementById("myTable");
var row = table.insertRow(index+1);
var cell1 = row.insertCell(0);
cell1.innerHTML = Ingredients[index];
}
</script>
<table id="myTable">
<header>
<tr>
<td>Ingredient</td>
</tr>
</header>
<footer>
</footer>
</table>
<button type="button" onclick="New_Item()">Add Ingredient</button>
推荐阅读
- python - 如何从子生成器中捕获 StopIteration
- selenium - pollingEvery() 方法的第一次调用是什么时候?
- android - 如何在不等待 sdk manager 下载的情况下下载 android studio 离线 sdk?
- vba - 使用 vlookup 的 vba 宏
- google-apps-script - 如何阻止脚本在日历中复制事件?
- java - 如何识别日期格式?
- angular - 尝试在 VSCode 中为 Angular 应用程序运行 E2E 时出现“E/launcher - 会话未创建:Chrome 版本必须介于 71 和 75 之间”
- azure - 如何对 azure 函数 blob 存储触发选项进行单元测试?
- java - GSON:预期为 BEGIN_OBJECT,但在第 1 行第 2 列路径 $ 处为 BEGIN_ARRAY
- c++ - 使用 Boost.Test 和现代 CMake 的多个测试文件