javascript - 单击“添加更多”时一次添加一个 div

标签 javascript

如何在每次单击“添加更多”时仅附加一次 div? 现在它会复制 div 内的所有内容并将其加倍..

http://jsfiddle.net/gkf5T/

<script>
function addInput(divName){
      var newdiv = document.createElement('div');
      newdiv.innerHTML = document.getElementById(divName).innerHTML;
      document.getElementById(divName).appendChild(newdiv);
}
</script>
<div id="add_more_cat">
    <select name="category">
        <option selected="selected" value="1">1</option>
    </select>                                           
</div>
<a href="#" onClick="addInput('add_more_cat');">+ Add more</a>

最佳答案

您每次都尝试克隆相同的标签,并且也将新元素添加到相同的标签中。您可能可以做的是创建一个模板标签,克隆该模板并将克隆添加到新标签中。这样,每次您单击“添加更多”时,您最终只会再添加一个选择。

在这里试试这个 fiddle http://jsfiddle.net/gkf5T/1/

<script>
function addInput(divName, template){
      var newdiv = document.createElement('div');
      newdiv.innerHTML = document.getElementById(divName).innerHTML;
      document.getElementById(template).appendChild(newdiv);
}
</script>
<div id="template">
    <select name="category">
        <option selected="selected" value="1">1</option>
    </select>                                           
</div>
<div id="add_more_cat">
</div>
<a href="#" onClick="addInput('template', 'add_more_cat');">+ Add more</a>

关于javascript - 单击“添加更多”时一次添加一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22387991/

相关文章:

javascript - Webrtc 数据通道服务器到客户端

javascript - 如何组织我的网站的自定义实用 JS 功能

javascript - 无法正确地动态加载脚本和样式

javascript - React 组件正在渲染,然后消失

javascript - 可排序的 jQuery UI div 与它们之间的间距对齐

javascript - jquery : how to set a css class for tr and td 的 DataTables 表插件

javascript - typescript中数组的两种写法有什么区别

javascript - jquery - 对象...没有方法 'css'

javascript - 在 Node.js 中保护非幂等后操作不被快速调用?

javascript - 有关 JS 和函数参数的帮助