我正在编辑我的博客主题,我需要在特定的博文中移动(剪切和粘贴)多个特定的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;功能而不是孩子,仍然是失败。
任何人都可以帮助我解决这个问题,或者至少指出我正确的方向。
答案 0 :(得分:2)
应该是:
$(".blog_post.text_post").each(function(){
$(this).find(".bottom_meta").insertAfter($(this).find(".moreinfo"));
});
将.insertAfter.$(this).children(...)
更改为:.insertAfter($(this).children(...))
此外,由于.moreinfo
/ .bottom_meta
元素不是直接子项,因此您需要使用.find()
而不是.children()
。
您还可以将其简化为以下内容:
$(".blog_post.text_post").each(function () {
$(".bottom_meta", this).insertAfter($(".moreinfo", this));
});