克隆元素并将其添加到另一个元素中

时间:2011-08-24 16:31:27

标签: javascript jquery dom element add

考虑遵循HTML标记:

<form action="">
    <div class="row subtitle">
        <span>Some stuff.</span>
    </div>

    <div class="more_subtitles"></div>


<a href="#" class="white add_more"><span>Add more</span></a>
</form>

和jQuery:

$('.add_more').live('click', function() {

    var el_of_form, subtitle, more_subtitles;

    el_of_form = $(this).closest('form');

    subtitle       = $(el_of_form).find('.subtitle');
    more_subtitles = $(el_of_form).find('.more_subtitles');

    console.log(subtitle);
    console.log(more_subtitles);

    $(more_subtitles).add(subtitle);

    return false;

});

为什么不工作? console.log()找到这些元素......

我想要完成的是当按下按钮时,它会克隆subtitle元素并将其添加到more_subtitles元素中。并且用户可以一次又一次地重复它。

2 个答案:

答案 0 :(得分:4)

more_subtitles.append(subtitle.clone());

答案 1 :(得分:0)

添加不是您想要的方法。请尝试附加。

$(more_subtitles).append(subtitle.clone());

Add用于使用一组新元素扩展当前匹配的元素,这些元素与您传递给add的选择器匹配。它不会影响DOM。

Append是实际将匹配的DOM元素添加到当前DOM元素的方法。