jquery - 如何将第一个 child 移到最后?

标签 jquery

我在 div 容器中有一些 div 项目,我想连续为它们设置动画。

我知道如何在无限循环中运行我的函数,但是选择第一个 div、对其进行动画处理并在完成动画后将其移动到末尾时存在问题。

我的函数如下所示:

function MoveItems() {
        $(".container:first").animate(
            {width: "0px"},
            1000,
            function (){ 
                $('.container').append($(this));
                $('.container').remove($(this));
            }
        );
};

我做错了什么? ;/

编辑:

您关于删除的说法是正确的,但动画仍然无法正常工作。

我认为选择器无法正常工作。

我的html是:

<div class="container">
<div class="image"><a href=""><img src="img/image001.jpg" /><span>IMAGE001</span></a></div>
<div class="image"><a href=""><img src="img/image002.jpg" /><span>IMAGE002</span></a></div>
<div class="image"><a href=""><img src="img/image003.jpg" /><span>IMAGE003</span></a></div>
  <div class="image"><a href=""><img src="img/image004.jpg" /><span>IMAGE004</span></a></div>
</div>

但运行函数 MoveItems 后,一旦出现:

<div class="container" style="width: 0px; overflow: hidden;">
    <div class="image"><a href=""><img src="img/image001.jpg"><span>IMAGE001</span></a></div>
    <div class="image"><a href=""><img src="img/image002.jpg"><span>IMAGE002</span></a></div>
    <div class="image"><a href=""><img src="img/image003.jpg"><span>IMAGE003</span></a></div>
    <div class="image"><a href=""><img src="img/image004.jpg"><span>IMAGE004</span></a></div>
</div>

因此函数在 .container 上运行,而不是在容器的第一个子容器上运行。我这里更具体吗? :)

最佳答案

$(".container:first") 选择它找到的第一个 .container。

您想要$(".container>div:first")

您还可以通过在父级上进行操作来“加速”最终的删除/追加,而不是对 .container 进行另一个 DOM 搜索:

var $me = $(this);
$me.parent().append($me);

关于jquery - 如何将第一个 child 移到最后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480049/

相关文章:

javascript - 数据表的显式排序

javascript - 单击时将 div 更改为表单

javascript - Jquery...如果单击除特定 div 之外的其他位置则隐藏下拉菜单

javascript - 拖放到 div 的特定区域

javascript - Chosen.js - jQuery on Change

javascript - 多个嵌套选项卡

jquery - 所选单选按钮的背景颜色不变

javascript - 使用 jQuery Datatable 显示分层数据

javascript - Bootstrap 模态窗口在一些延迟后循环

php - 创建特定于城市的网站(city1.example.com、city2.example.com)