使用文件输入child克隆元素并清空它

时间:2011-04-08 17:58:15

标签: jquery clone

参考this question我需要一个解决方案:

HTML:

<input type="file" />
<span id="add-more-files">Add more</span>

jQuery的:

$('#add-more-files').click(function()
{
   var cloned = $(this).prev().clone();
   $(cloned).insertBefore($(this));
});

2 个答案:

答案 0 :(得分:1)

注意:你真的应该问一个新问题,不要只是复制你的旧问题,让人们跳来找出你想要的东西。

假设HTML:

<div class="wrap"><input type="file" /></div>
<span id="add-more-files">Add more</span>

你可以这样做:

$('#add-more-files').click(function(){
    $("<div>", {class:"wrap"}) //Create a div
        .append($("<input>", {type:'file'})) //Add an input element
        .insertBefore(this); //Insert it into the DOM
});

这将创建一个新的div和输入标记结构,然后在可点击范围之前将其插入DOM。有关工作示例,请参阅here

注意:它不会在同一个div中插入新输入。如果这是你想要的,请看@ jAX的答案。

答案 1 :(得分:-1)

$('#add-more-files').click(function()
{
   $('<input type="file" />').insertBefore($(this));
});