Swap an element with another element

Swap an element with another element

Hello friends,

i am new to jquery and i am trying to swap or move an element with another element, but it's not working completely.

I have following html:

  1. <div id=content>
  2. <div class=c1>
  3. <a href="link1"><img src="" alt=""></a>
  4. <h2>Headline 1</h2>
  5. <p>...</p>
  6. <p>...</p>
  7. </div>
  8. <div class=c2>
  9. <a href="link2"><img src="" alt=""></a>
  10. <h2>Headline 2</h2>
  11. <p>...</p>
  12. <p>...</p>
  13. </div>
  14. <div class=c3>
  15. <a href="link3"><img src="" alt=""></a>
  16. <h2>Headline 3</h2>
  17. <p>...</p>
  18. <p>...</p>
  19. </div>
  20. </div>

And I want that it looks like following html when an if-condition gets true:

  1. <div id=content>
  2. <div class=c1>
  3. <h2>Headline 1</h2>
  4. <a href="link1"><img src="" alt=""></a>
  5. <p>...</p>
  6. <p>...</p>
  7. </div>
  8. <div class=c2>
  9. <h2>Headline 2</h2>
  10. <a href="link2"><img src="" alt=""></a>
  11. <p>...</p>
  12. <p>...</p>
  13. </div>
  14. <div class=c3>
  15. <h2>Headline 3</h2>
  16. <a href="link3"><img src="" alt=""></a>
  17. <p>...</p>
  18. <p>...</p>
  19. </div>
  20. </div>

I tried this

  1. function myFunc() {
  2.       var picHTML = $('div#content > div.c1 > a').html();
  3.       if (condition) {
  4.             $('div#content > div.c1 > h2').after(picHTML);
  5.       }
  6. }
...but it's not working like i want.