Jquery appendTo,删除多个div

时间:2013-02-08 22:02:21

标签: jquery appendto

我是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时,会弹出新的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结构。

1 个答案:

答案 0 :(得分: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