2010-11-04 103 views
4

我想要做一些jquery,它会在文本中找到图像,将图像包装在div中,然后将其移动到另一个div,但我似乎无法使其工作。这里是我到目前为止的代码:jquery appendTo最接近的div(按类)?

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

^^这部分工作。

但是,当我尝试将其移动,或者在一个DIV中的页面移动(而不是移动到它们的父DIV(“.newsItem”),或没有全部图像发生。

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

^^的是没有做任何事情。

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

^^即移动它们都变成了第一个“.newsItem”分区的一个。

这里的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> 

任何帮助肯定会被赞赏! :)

回答

8

您可以通过使用.each()需要循环,使this是指每个元素,当您去,就像这样:

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

由于.appendTo()被周围翻到.append()无论如何,这是更有效的走这条路线。

+0

谢谢尼克,你是个传奇:) – SoulieBaby 2010-11-04 23:50:45