Swapping div contents with jQuery

html, javascript, jquery, swap

Solution

$(document).ready(function() {
    $('div.small').click(function() {
        var bigHtml = $('div.large').html();
        var smallHtml = $(this).html();

        $('div.large').html(smallHtml);
        $('div.small').html(bigHtml);

        //custom functions?
    });
});

Problem

Here's my HTML: ``` <div class="large"> <img src="/images/photos/Interior.jpg" alt="The interior" style="[...]" /> <div class="caption">The interior</div> </div> <div class="small"> <img src="/images/photos/Bedroom.jpg" alt="Bedroom" style="[A different ...]" /> <div class="caption">A bedroom</div> </div> ``` Upon clicking a `div.small`, I'd like both the images and captions to swap container divs. The catch is I can't just swap the src, as there are a bunch of inline styles set which need to be preserved. Finally, once the images have been swapped, I want to apply my custom function `.fitToParent()` to both of them. How would I go about doing this?

Original source

Related problems