这是我的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所以我必须从关系的角度来选择它。
有人可以帮助我吗?
答案 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);
});