You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript实现点击按钮添加多个input标签?

解决点击按钮添加多个input标签的问题

你当前代码只能添加一个input的核心原因是:只提前创建了一个input元素,每次点击按钮都是把这个已经存在的元素重复添加到DOM中——DOM里同一个元素无法同时存在多个位置,所以看似“添加”,其实只是把它在DOM里挪了个位置,不会生成新的input。

修改方案

把创建input的逻辑放到点击事件内部,每次点击都生成全新的input实例;同时推荐用CSS类统一管理样式,避免重复编写内联样式:

1. 完整代码示例

<!-- HTML部分 -->
<div id="childrendiv"></div>
<button id="plus">添加输入框</button>

<style>
/* CSS样式类,统一管理input样式 */
.custom-input {
  width: 60vh;
  height: 5vh;
  margin: 3vh;
  font-weight: bolder;
  font-family: 'Lilita One', cursive;
}
</style>

<script>
// 获取添加按钮
const addbtn = document.querySelector("#plus");
// 获取目标容器
const childrendiv = document.querySelector("#childrendiv");

// 按钮点击事件
addbtn.onclick = function(){
  // 每次点击都创建一个新的input元素
  const newInput = document.createElement("input");
  // 给新input添加样式类
  newInput.classList.add("custom-input");
  // 添加到容器中
  childrendiv.appendChild(newInput);
}
</script>

2. 关键修改点说明

  • 将document.createElement("input")移到点击事件内部,确保每次点击都生成全新的input元素。
  • 用CSS类.custom-input替代内联样式,后续修改样式只需改CSS,不用动JS,代码更易维护。
  • 每次创建的新input都是独立的DOM节点,添加到容器后会作为新元素存在,不会覆盖或移动已有元素。

内容的提问来源于stack exchange,提问作者Moein_fadakar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:42:48