家长/附加/前置安排

时间:2011-04-09 01:36:13

标签: jquery append clone parent prepend

在双击上,创建了单击元素的新克隆。必须将此新克隆添加到父包装器之前。然而,这成为问题,因为克隆目标上方存在元素。产生的克隆位于此misc元素之上。我需要将克隆置于原始位置之上,但低于此misc元素。

<div id="wrapper">

----> <img class="clone_target Copy"/> *prepend places them here.

<span class="misc_element"></span>

----> <img class="clone_target Copy"/> *the clones should go here.

<img class="clone_target"/>

</div>

2 个答案:

答案 0 :(得分:0)

这应该这样做:

$(".clone_target").click(function() {
    var $clone = $(this).clone(true);
    $(this).parent().find(".misc_element:last").after($clone);
});

You can try it here.

请参阅http://api.jquery.com/after/

答案 1 :(得分:0)

你可以做到

$('.clone_target').dblclick(function (e) {
    $(this).before($(this).clone().addClass('copy'));
});

限制所制作的副本数量,

var MAX_CLONES = 30;
$('.clone_target').dblclick(function (e) {
    if ($(this).prevUntil('.misc_element').length < MAX_CLONES) {
        $(this).before($(this).clone().addClass('copy'));
    }
});