我想克隆一个列表项,然后将其附加到克隆列表项的底部,注意它应该是下面的列表项被克隆,不是因为我能做到这一点的列表的底部我。目的是与jQuery.ui排序使用它。

一切工作正常,其实我甚至可以得到克隆和附加权利。然而,它附加的 的收盘</li>标记之前,和我的生活,我不能强迫它附加的之后此标签。

这是HTML标记:

<ul id="column-2" class="connectedSortable">
    <li class="ui-state-default">
        <div class="label">feature</div>
        <div class="action">
            <div class="delete"></div>
            <div class="other"></div>
        </div>
    </li>
</ul>

我们关心的部分是class="other"其在被点击将复制列表项。

这是jQuery的迄今:

// This works fine
$(".other").click(function() {

    // This needs to be set (global) to be used later on in some future code.
    actionTarget = this;        

    // This grabs the whole list item
    var targetStory = $(actionTarget).parent().parent();

    // This clones the list item, as well as appending 
    // that clone to the cloned list item
    $(targetStory).clone().appendTo(targetStory);

})

这工作得很好,它抓住列表项,克隆它,然后转储在屏幕上 - 但在错误的地方:(

<ul id="column-2" class="connectedSortable">
    <li class="ui-state-default">
        <div class="label">feature</div>
        <div class="action">
            <div class="delete"></div>
            <div class="other"></div>
        </div>
        <li class="ui-state-default">
            <div class="label">feature</div>
            <div class="action">
                <div class="delete"></div>
                <div class="other"></div>
            </div>
        </li>
    </li>
</ul>

任何人有,为什么它不附加到列表项的末尾任何想法被克隆,以及如何解决这个问题?

有帮助吗?

解决方案

也许你想使用代替appendTo

其他提示

我想你想的是这样的:

$(targetStory).clone().appendTo(targetStory.parent());

我觉得 insertAfter 是你在找什么。经过克隆后,会插入原来的节点,而不是原来的节点之后的克隆。像这样的东西应该工作:

$(targetStory).clone().inserAfter(targetStory);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top