jQuery为每个div类查找child和insertAfter

时间:2015-02-01 02:52:44

标签: javascript jquery html each children

我正在编辑我的博客主题,我需要在特定的博文中移动(剪切和粘贴)多个特定的div。

当前的HTML将是

<div class="blog_post text_post">
    <div class="post_container">
        <div class="bottom_meta"></div>
        <div class="post_date"></div>
        <div class="moreinfo"></div>
        <!-- I need .bottom_meta here -->
    </div>
</div>

我设法让它像这样工作:

$(".blog_post.text_post .bottom_meta").insertAfter(".blog_post.text_post .moreinfo");

乍一看它看起来还不错,但是当我写另一篇文章时(通常是帖子是图片),它在我的博客上弄得一团糟。 代码现在从.moreinfo。

下的两个帖子移动.bottom_meta

我尝试使用每个功能,但多次失败......

$(".blog_post.text_post").each(function(){     
     $(this).children(".bottom_meta").insertAfter.$(this).children(".moreinfo");
});

我尝试了同样的&#39;发现&#39;功能而不是孩子,仍然是失败。

任何人都可以帮助我解决这个问题,或者至少指出我正确的方向。

1 个答案:

答案 0 :(得分:2)

应该是:

$(".blog_post.text_post").each(function(){     
    $(this).find(".bottom_meta").insertAfter($(this).find(".moreinfo"));
});

Example Here

  • .insertAfter.$(this).children(...)更改为:.insertAfter($(this).children(...))

  • 此外,由于.moreinfo / .bottom_meta元素不是直接子项,因此您需要使用.find()而不是.children()

您还可以将其简化为以下内容:

$(".blog_post.text_post").each(function () {
    $(".bottom_meta", this).insertAfter($(".moreinfo", this));
});

Example Here