初始情况如下:
<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/