jquery - 如何克隆 HTML block ?

标签 jquery jquery-clone

我正在努力使用 Jquery 克隆。我可以克隆一行 HTML,但我不知道如何克隆一个 block 。

我有这个 block :

<div class="item-name">
    <label for="id_form-0-name"></label>
    <select id="id_form-0-name" name="form-0-name"></select>
</div>

我需要生成另外两个 block ,每次更改新 block 的属性以反射(reflect)其位置。

<div class="item-name">
    <label for="id_form-1-name"></label>
    <select id="id_form-1-name" name="form-1-name"></select>
</div>
<div class="item-name">
    <label for="id_form-2-name"></label>
    <select id="id_form-2-name" name="form-2-name"></select>
</div>

关于我必须做什么才能获得该输出的任何线索吗?

最佳答案

试试这个:

$('.item-name').clone().insertAfter('.item-name')

来源:

1) 关于clone() http://api.jquery.com/clone/
2) 关于insertAfter http://api.jquery.com/insertAfter/

满足您的额外要求

尝试这样的事情:

$clone = $('.item-name:last').clone();
for (i = 1; i < 999; i++) {
    if ($('.item-name select[id=id_form-'+i+'-name]').attr('id') != 'id_form-'+i+'-name') {
        $clone.find('select').attr('id', 'id_form-'+i+'-name');
        $clone.find('select').attr('name', 'form-'+i+'-name');
        $clone.find('label').attr('for', 'id_form-'+i+'-name');
        break;
    }
}
$clone.insertAfter('.item-name:last');

关于jquery - 如何克隆 HTML block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14264405/

相关文章:

javascript - jquery 的追加和前置问题

javascript - 如何向文本框数组添加值

javascript cloneNode() 无法正常工作

javascript - jQuery之前无法对html进行clone()和appendTo()

javascript - 响应式 DIV 覆盖在 "background-size: contain"- 解决警报触发的问题

javascript - 移动 JavaScript 下拉菜单无法打开

javascript - 画中画和全屏一起 - API 只能通过用户手势启动

javascript - Jquery .clone() 只能工作一次

javascript - 如何正确克隆字段集元素并将其附加到表单中?