用jQuery交换div内容

时间:2009-09-04 18:24:05

标签: javascript jquery html swap

这是我的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>

单击div.small后,我希望图像和标题都可以交换容器div。问题是我不能只交换src,因为有一些需要保留的内联样式集。最后,一旦交换了图像,我想将自定义函数.fitToParent()应用于它们。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:16)

$(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?
    });
});

答案 1 :(得分:1)

function swapContent(){
   var tempContent = $("div.large").html();
   $("div.large").empty().html($("div.small").html());
   $("div.small").empty().html(tempContent);   
}

<div class="large">
    <img src="/images/photos/Interior.jpg" alt="The interior" style="[...]" />
    <div class="caption">The interior</div>
</div>
<div class="small" onclick="swapContent()">
    <img src="/images/photos/Bedroom.jpg" alt="Bedroom" style="[A different ...]" />
    <div class="caption">A bedroom</div>
</div>

希望它有所帮助。

答案 2 :(得分:0)

稍微改变你的标记:

<div id="large">

<div id="small">

然后在Javascript中你可以做到:

var swap = function(fromId, toId){
    var temp = $(toId).html();
    $(toId).html($(fromId).html());
    $(fromId).html(temp);
}

显然它可以清理,但你明白了。