因此,在某些情况下,我使用 prepend 或 append 将一个元素移动到另一个元素,例如:
$('.categories').prependTo($('.date'));
现在我知道 prepend 和 append 有时可以克隆内容,但是我怎样才能取消克隆呢?我不能重命名我的 div 也不能创建新的...我根本没有访问权限。
仅当有多个目标时才会发生克隆,因为在您的情况下情况并非如此,因此不会发生克隆。
您可以使用detach()
从 DOM 中删除元素然后添加/添加的方法。
$(document).ready(function() {
$("li a").click(function() {
var target = $(this).parent().closest('ul');
$(this).parent().detach().prependTo(target);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><a href="#">Cat 1</a>
</li>
<li><a href="#">Cat 2</a>
</li>
<li><a href="#">Cat 3</a>
</li>
</ul>
<ul>
<li><a href="#">Cat 4</a>
</li>
<li><a href="#">Cat 5</a>
</li>
<li><a href="#">Cat 6</a>
</li>
</ul>