初始情况如下:

<div id="bigDiv">
    <div><input type="file"/></div>
</div>

克隆后所需的结果:
<div id="bigDiv">
    <div><input type="file"/></div>
    <div><input type="file"/></div>
</div>

我试过以下声明:
var elm = $('#bigDiv :input[type=file]').change(function(event) {
    console.log('changed');
    $('#bigDiv :input[type=file]').eq(0).clone(true).val('').appendTo('#bigDiv');
});

这可行。我的问题是,如何将这个新文件输入元素附加到一个新的div元素中,该元素也必须先创建? (请参见上面的期望结果)

我认为我的jQuery语句也是可改进的。

最佳答案

克隆整个div会更容易。试试这个:

var elm = $('#bigDiv :input[type=file]').change(function(event) {
    var $newDiv = $('#bigDiv div').first().clone(true).appendTo('#bigDiv');
    $('input[type="file"]', $newDiv).val('');
});

Example fiddle

关于javascript - 创建一个新元素并将克隆添加到此元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19639235/

10-11 13:17