9

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

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

我该怎么做呢?

4

3 回答 3

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?
    });
});
于 2009-09-04T18:27:35.390 回答
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>

希望能帮助到你。

于 2009-09-04T18:36:46.900 回答
0

稍微改变你的标记:

<div id="large">

<div id="small">

然后在Javascript中你可以这样做:

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

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

于 2009-09-04T18:28:16.277 回答