在clone(jquery)上为类名添加1

时间:2014-11-20 18:09:43

标签: jquery html clone

我创建了简单的脚本,这是我的jquery:

// 
$('.sections a').click(function (e) {
    var clone = $('.sections a ~ div:last').clone();

    $('.sections a').after(clone);
});

和html

<div class="sections">

    <a href="#add_section">Add section</a>

    <div class="section_1">
        <input type="hidden" name="section_1">
    </div>

</div>

并在点击链接&#34;添加部分&#34;后,我的脚本克隆在锚之后的最后一个div。 并在下一次单击时我想添加一个到类和输入值,例如:

    <div class="section_1">
        <input type="hidden" name="section_1">
    </div>

    <div class="section_2">
        <input type="hidden" name="section_2">
    </div>

    <div class="section_3">
        <input type="hidden" name="section_3">
    </div>

3 个答案:

答案 0 :(得分:1)

尝试绑定到文档并过滤元素

$(document).on('click', '.sections a', function (e) {
    var clone = $('.sections a ~ div:last').clone();

    //increment attributes here


    $('.sections a').after(clone);
});

答案 1 :(得分:1)

试试这个(它有点脏,但应该有效):

$('.sections a').click(function (e) {
    var clone = $('.sections a ~ div:last').clone();
    var currentClass = $('.sections a ~ div:last').attr("class");
    var currentId = currentClass.substr(currentClass.length -1);
    currentId++;

    $(clone).attr("class", "section_" + currentId);
    $(clone).find("input").attr("name", "section_" + currentId);
    $('.sections a ~ div:last').after(clone);
});

答案 2 :(得分:1)

将此代码添加到您的js:

var clones=1;
$('.sections a').click(function (e) {
    var clone = $('.sections a ~ div:last').clone();
    $('.sections a ~ div:last').after(clone);
    clones++;
    clone.attr('class','section_'+clones);
    clone.find('input[type="hidden"]').attr('name','section_'+clones);
});

demo

对不起......我还没有看到@twain的回答。它实际上是一样的,我希望演示有帮助