如何追加到最近的div(按类)?

问题描述 投票:4回答:1

我正在尝试做一些jQuery,它会在文本中找到图像,将图像包装在div中,然后将其移动到另一个div,但我似乎无法让它工作。

这是我到目前为止的代码:

$(".newsIntro").find("img").wrap("<div class=\"newsImage\" />");

但是,当我尝试移动它时,页面上的所有图像都会在一个div内移动(而不是移动到它们的父div(“。newsItem”),或者没有任何反应。

$(".newsImage").appendTo( $(this).closest(".newsItem") );

以上没有做任何事情:

$(".newsImage").appendTo(".newsItem");

上面的一个将它们全部移动到第一个.newsItem div

这是HTML的片段:

<div class="newsItem">
  <div class="newsHeader">
    <h2><a href="/news-information/67-latest-news-03.html">Latest News 03</a></h2>
  </div>
  <div class="newsIntro"><img src="/images/stories/opals-are-lucky/img_abopal_lucky.jpg" border="0" align="left" />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce dictum sagittis sapien. Aliquam erat volutpat. Nulla facilisi. Ut purus neque, condimentum nec,
    auctor eget, semper ut, enim. Vestibulum sem tellus, vestibulum a, vehicula ut, feugiat id, libero. Pellentesque enim justo, condimentum sed, dictum at, viverra eget, odio. Aliquam feugiat metus id lacus. Cum sociis natoque penatibus et magnis dis
    parturient montes, nascetur ridiculus mus. Nam iaculis iaculis quam. Donec eu dui.</div>
  <div class="clear"></div>
</div>

<div class="newsItem">
  <div class="newsHeader">
    <h2><a href="/news-information/68-latest-news-03.html">Latest News 03</a></h2>
  </div>
  <div class="newsIntro"><img src="/images/stories/about-us/img_showroom.jpg" border="0" align="right" />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce dictum sagittis sapien. Aliquam erat volutpat. Nulla facilisi. Ut purus neque, condimentum nec, auctor eget,
    semper ut, enim. Vestibulum sem tellus, vestibulum a, vehicula ut, feugiat id, libero. Pellentesque enim justo, condimentum sed, dictum at, viverra eget, odio. Aliquam feugiat metus id lacus. Cum sociis natoque penatibus et magnis dis parturient montes,
    nascetur ridiculus mus. Nam iaculis iaculis quam. Donec eu dui.</div>
  <div class="clear"></div>
</div>
javascript jquery append parent closest
1个回答
9
投票

你需要循环使用.each()所以this引用你去的每个元素,像这样:

$(".newsImage").each(function() {
  $(this).closest(".newsItem").append(this);
});

因为无论如何.appendTo()都被翻到.append(),所以走这条路更有效率。

© www.soinside.com 2019 - 2024. All rights reserved.