javascript - 如何动态添加按钮到 div
问题描述
我有一个文本数组,它生成按钮(参见代码示例),然后应该将生成的按钮添加到 div 而不是正文。
Javascript
<script>
//let list = ["A","B","C"];
let list = JSON.parse(localStorage.getItem("PrüfungenName"));
let listBtns = [];
let listPs = [];
for (let i = 0; i < list.length; ++i) {
var button = document.createElement("button");
var p = document.createElement("p");
p.innerHTML = "nicht durchgeführt";
p.id = "p " + i;
button.innerHTML = list[i];
button.name = list[i];
button.id = "Button " + i;
button.labels = list[i];
listBtns[i] = button;
listPs[i] = p;
button.addEventListener("click", OpenAndLoad());
document.getElementById("AddedButtons").appendChild(button);
document.getElementById("AddedButtons").appendChild(p);
}
</script>
<div id="AddedButtons"></div>
错误信息
未捕获的类型错误:无法在“”处读取 null 的属性“appendChild”
尝试document.body.appenChild(button)
时它有效,但这不是我想要的。
解决方案
将您的脚本放在 div 之后。执行 yoir 脚本时,该 div 将不存在。或者,在dom 准备好时执行的脚本周围添加一个函数。
推荐阅读
- css - 尝试将网格属性添加到类时,为什么在 Sass 中出现此错误?
- typescript - 如何在 TypeScript 中为泛型类型编写泛型辅助函数?
- html - 如何用 :before 或 :after 制作这个圆形边框?
- python - pyqt5中的多个窗口
- javascript - API 给出错误 (net::ERR_EMPTY_RESPONSE)
- libvirt - 虚拟接口 (veth) 在 libvirtd/virt-manager 中无法用于桥接
- android - mySQL 安卓工作室。java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接
- javascript - 当我将“scrollIntoView”函数与“pointer-events:none”一起使用时,元素的行为很奇怪
- python - 将变量传递给 websocket 函数 - Alpaca API Python Websocket
- python - 如何在 python 中使用 matplotlib.ticker 舍入 yaxis