javascript - jQuery 删除一个对象并在同一位置替换

标签 javascript jquery

我如何从无序列表中删除对象 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/

相关文章:

javascript - 如何直接调用对象父类的setter?

javascript - Grunt list : Put to a subdirectory the source paths

javascript - 页面更改时未加载外部脚本

javascript - 选择了哪个 <option> 字段?使用 jQuery

jquery - 如何自定义 jquery 验证引擎消息错误

javascript - 'map' ping multiple lists有名称吗?

javascript - 是否可以在 Coldfusion 服务器端将 HTML 标记编译为可模板化的 javascript?

javascript - Jest 单元测试 onClick 事件

javascript - 提交表单之前调用 Ajax

javascript - 带有 jquery 的 Google 地理 map 在 IE 中失败