我如何从无序列表中删除对象 say 并将其添加到另一个列表中同时保持其位置?我知道我可以将原始项目设置为 hide() 但这会留下一个小空间,用于显示该项目。假设我有一个列表 A 和 B,如果用户单击 A 中的某个项目,则需要将其添加到 B 并从 A 中删除。如果他们现在单击一个按钮将其从 B 中删除并返回到 A,我想让它显示在原来的位置。我知道我可以通过 append() 添加它,但不会将它放在同一位置。有人想过吗?
最佳答案
您可以使用 .clone?所以:
<ul id="firstlist">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
<ul id="secondlist">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
jquery:
var object = $('#firstlist > li :last ').clone();
$('#secondlist').append(object);
$('#firstlist > li :last ').destroy();
显然,您可以交换这一轮以将其添加到第一个列表中,但要获得您可以使用多种方法的位置,我可能会这样做:
$('#firstlist').children('li').each(function(i){
});
并使用“i”获取位置。您可以在给定对象之后追加:
$('#firstlist').children('li').each(function(i)
{ if(i== 4){ $(this).append(object).after(this) }
关于javascript - jQuery 删除一个对象并在同一位置替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817795/