2010-11-04 69 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