在jquery中帮助克隆和appendTo

时间:2010-01-24 09:27:53

标签: jquery

这是我的DOM:

    <div class="group">
        <div class="comment">
            <button class="addLink">Add link</button>
        </div>

        <div class="link">
            <button class="removeLink">Remove link</button>
        </div>
    </div>

我想点击button.addLink,它会复制div.link并将其作为div.group中的最后一个孩子附加。

我从这段代码开始,但卡住了。

 $(this).parent().parent().children(':last').clone().appendTo();

我不知道如何写appendTo。因为我希望它被附加到div.group但我不能只是键入它'div.group'因为会有很多其他div.group所以我必须从关系的角度来选择它。

有人可以帮助我吗?

4 个答案:

答案 0 :(得分:4)

$(this).parent().parent().children(':last').clone().appendTo($(this).parent().parent());

或者更好一点:

var $parent = $(this).parent().parent();
$parent.children(':last').clone().appendTo($parent);

appendTo()接受一个参数 target ,其中应附加元素。

您应该阅读API文档,这是很好的解释。

答案 1 :(得分:1)

尝试:

$(".addLink").click(function() {
    var clone = $(this).parent().next("div.link").clone();
    $(this).closest(".group").append(clone);
});

答案 2 :(得分:1)

$("button.addLink").click(function() {
    var self = $(this);
    var linkDiv = self.parent().next().clone();
    self.parent().parent().append(linkDiv);    
});

这是 Working Demo 。单击“预览”按钮并尝试输出代码。

答案 3 :(得分:0)

尝试.parents()

$('.addlink').click(function(){
   var parent = $(this).parents('div.group');
   parent.children(':last').clone().appendTo(parent);
});