0

我在弄清楚如何做到这一点时遇到了很多麻烦:

$('.add_education').click(function() {
    $('#education_form_clone:last').last().clone(true).appendTo('#education_form_container');
});

如果它是新创建的元素,它不会选择最后一个元素。基本上我想克隆最后一个#education_form_clone(以获取值。)我理解这是因为它是动态创建的,我之前必须解决类似的问题,但我一生都无法弄清楚我是如何管理它的。

4

2 回答 2

3
  1. 您不能有多个具有相同 id 的元素!这是无效的 HTML
  2. 您没有充分理由使用 last 两次 ( :lastand )。.last()

您应该使用class而不是id

$('.add_education').click(function() {
    $('.education_form_clone:last').clone(true).appendTo('#education_form_container');
});
于 2012-05-28T21:23:44.740 回答
0

如果您将其更改education_form_clone </div>为一个类,您可以执行以下操作:

HTML

<div id="edutcation_form_container">
    <div class="education_form_clone">Education Form Element</div>
</div>

<a href="#" class="add_education">Click Me to Clone</a>

JS

$('.add_education').bind('click', function(e){
    e.preventDefault();
    var $clone = $('.education_form_clone').filter(':last').clone();
    $('#edutcation_form_container .education_form_clone').filter(':last').after($clone);

    console.log($clone);
});​

在这里提琴

于 2012-05-28T21:32:40.917 回答