为什么jQuery Append不能用于HTML列表项的末尾?

我正在尝试克隆一个列表项,然后将其附加到该克隆列表项的底部,请注意它应该在克隆的列表项下面,而不是在列表的底部,因为我自己可以这样做。 目的是将它与jQuery.ui排序一起使用。

一切都很好,事实上我甚至可以得到克隆和追加权利。 但是,它会结束

标记之前附加它,并且在我的生命中,我不能强制它此标记之后追加。

这是HTML标记:

 
  • feature

我们关注的部分是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); }) 

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

 
  • feature
  • feature

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

也许你想使用after而不是appendTo

我想你想要的是这个:

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

我认为insertAfter是你正在寻找的。 之后会在克隆之后插入原始节点,而不是原始节点之后的克隆。 像这样的东西应该工作:

 $(targetStory).clone().inserAfter(targetStory);