jQuery 为每个 div class 找到 child 和 insertAfter
jQuery for each div class find child and insertAfter
我正在编辑我的博客主题,我需要在特定博客中移动(剪切和粘贴)自身下的多个特定 div post。
当前 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");
乍一看还不错,但是当我写另一个文本 post(通常 post 是图像)时,它在我的博客上弄得一团糟。
代码现在将 .bottom_meta 从两个 post 移到两个 .moreinfo .
下
我尝试使用每个功能,但我多次失败...
$(".blog_post.text_post").each(function(){
$(this).children(".bottom_meta").insertAfter.$(this).children(".moreinfo");
});
我用 'find' 函数而不是 'children' 尝试了同样的方法,仍然失败。
谁能帮我解决这个问题,或者至少给我指出正确的方向。
应该是:
$(".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));
});
我正在编辑我的博客主题,我需要在特定博客中移动(剪切和粘贴)自身下的多个特定 div post。
当前 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");
乍一看还不错,但是当我写另一个文本 post(通常 post 是图像)时,它在我的博客上弄得一团糟。 代码现在将 .bottom_meta 从两个 post 移到两个 .moreinfo .
下我尝试使用每个功能,但我多次失败...
$(".blog_post.text_post").each(function(){
$(this).children(".bottom_meta").insertAfter.$(this).children(".moreinfo");
});
我用 'find' 函数而不是 'children' 尝试了同样的方法,仍然失败。
谁能帮我解决这个问题,或者至少给我指出正确的方向。
应该是:
$(".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));
});