2010-11-04 2 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"); 

^^ тот, который перемещает их всех в первый DIV «.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