11

したがって、特定のクラスからコンテンツを取得し、それをdivに配置する必要があります.appendを使用します...私の問題は、appendが追加したアイテムを削除し、そこにとどまる必要があることです.ここに私のコードがあります:

$(document).ready(function(){
    var $content = $('#popupcontent');
    var $window = $('#popupwindow');
    $('.open').click(function(){
        //alert('runnning');
        var a = $(this).contents('span');
        $content.append(a);
        $window.fadeIn(300);
    });
    $('.close').click(function(){
        //alert('running');
            var a = $content.contents('span');
        $window.fadeOut(300);
        $('#popupcontent span').remove();
    });
});

では、クリックしたときに、クラスからコンテンツを削除せず.open spanに、それぞれから#popupcontentsidにコンテンツを取得するにはどうすればよいでしょうか?.open

私が何を意味するかを示すために:JSFIDDLE

注: リンクを 2 回クリックすると、コンテンツがそのクラスから削除されているため、コンテンツが追加されません。これは私が望んでいるものではありません。

注2:コンテンツがクラスのどのインスタンスから来たのかを検出できないため、単に関数内のappend代わりにすることはできません。remove$('.close').click.open

4

1 に答える 1

31

要素のクローンを作成し、クローンを追加する必要があります。

$('.open').click(function(){
    //alert('runnning');
    var a = $(this).contents('span');
    $content.append(a.clone());
    $window.fadeIn(300);
});

デモ

于 2013-06-14T04:15:19.770 に答える