javascript - 创建一个新元素并将克隆附加到该元素

标签 javascript jquery

初始情况如下所示:

<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/

相关文章:

javascript - 使用 javascript/jquery 比较两个范围

javascript - 有没有办法查看node js内部如何存储数字?

javascript - 如何将标签放在仪表JS之外

javascript - 在垂直中间概率显示图像悬停 div

javascript - 在脚本模板内运行 javascript/jquery(脚本标签中的脚本)

javascript - 范围价格计算

javascript - 使用 dojo(不是 jQuery)触发 blur() 函数

javascript - 在另一个函数中向左/向右移动 div

javascript - Jquery 图像点击在 IE 中不起作用

javascript - jQuery 转换是否可能无法在繁重的网页上工作?