javascript - 无法为在 JavaScript 中创建的 div 按钮设置值
问题描述
我正在尝试将按钮动态添加到 JS 中的 div 中。我可以在没有设置按钮值的情况下执行此操作(即空白按钮),但是一旦我尝试为按钮添加值,div 就会消失。知道为什么这不起作用吗?
var btn = document.createElement("button");
btn.id = "myBtn";
document.getElementById("myBtn").value = "test"; // This is causing the problem
div.appendChild(btn);
解决方案
您混淆了 2 行。将最后两行切换为:
document.getElementById("myBtn").value = "test"; // This is causing the problem
div.appendChild(btn);
document.getElementById 仅查找已添加到 DOM 的元素。所以如果你把它添加到 DOM 中,然后通过 id 获取它,你不会有任何问题。实际上,在您展示的示例中,您甚至根本不需要使用 document.getElementById。您已经有了对 HTMLButtonElement 的引用。
所有你需要的是:
var btn = document.createElement("button");
btn.id = "myBtn";
btn.value = "test"; // This is causing the problem
div.appendChild(btn);
顺便说一句,您是否打算将“测试”作为按钮文本?然后你应该使用:
btn.innerHTML = "test"
代替:
btn.value = "test".
推荐阅读
- arrays - Powershell:引用数组中的单个元素
- typescript - ts-node 不会将任何内容记录到控制台
- python - FunctionApp 未导入 python 模块
- c# - 字符串或二进制数据将被截断。该语句已终止。插入表格时
- python - 为什么撤消和去图标化命令在函数中不起作用?(tkinter)
- vue.js - 建立连接后,Phoenix Channel 无法与前端保持连接(WebSocket 握手期间出错)
- scala - 如何在 Scala Spark DF 中减少和求和网格
- json - 如何在 Swift 中对搜索输入中的任何字符进行编码?
- javascript - 如何理解 IIFE
- discord.js - Discord.js 分片,如何使用 broadcastEval 发送嵌入消息?