0

私はjqueryが初めてで、これについて完全に迷っています。私は成功せずにかなり検索しました。これが私がやろうとしていることです:

したがって、ある領域の(非表示の)divをDOMのいくつかのレベルの別のdivに追加しています。

$(".show_hide").on("click", function(event){

    $(this).next(".event-details").appendTo("#sc_events").addClass("current-event");

    return false;

});

私の問題は、同じことをしているコンテナーにさらにいくつかの div があることです。したがって、この追加された div を削除できるようにする必要があり、次がクリックされると、新しい div がポップアップします。私はそれを次のように動作させました:

$(".show_hide").on("click", function(event){
$(".current-event").remove();
    $(this).next(".event-details").appendTo("#sc_events").addClass("current-event");

    return false;

});

ただし、show_hide クラスを使用して以前にクリックした項目をクリックして戻すと、このメソッドを使用して削除されているため、戻りません。もう一度利用できるようにする必要があります。

これが理にかなっていることを願っています。助けてくれてありがとう。これはhttp://jsfiddle.net/CGySr/であり、私は仕事をすることができませんが、多かれ少なかれhtml構造を持っています。

4

1 に答える 1

0

jQueryを使用clone()して、追加する前に非表示のdivのコピーを作成できます。preventDefault()また、リンクをクリックしたときにページがジャンプしたりページが更新されたりする可能性を防ぐために使用することをお勧めします。

$(".show_hide").on("click", function(event){
  event.preventDefault();
  $(".current-event").hide();
  $(this).next(".event-details").clone().appendTo("#sc_events").addClass("current-event").show();
  return false;
});

DEMOを参照してください。

于 2013-02-08T22:05:10.677 に答える