1

我已经尝试解决这个问题一段时间了,我将不胜感激。我有三列。每列的顶部都包含一对添加/删除按钮。我希望添加按钮在父列之后附加父列的克隆。我尝试了各种方法来克隆父 div,但无济于事。

我还希望删除按钮删除包含列。我只设法使用删除按钮使第一列工作。此功能不适用于以下列。

我会非常感谢一些帮助。谢谢。

http://jsfiddle.net/equiroga/h2dnn/2/

   $(document).ready( function() {

    $("#add").click( function() {
    $(".day-column").append(".day-column");
    $('.day-column').clone().attr('class','.day-column').insertAfter('.day-      column:first');
    });

    $("#remove").click( function() {
     $(".day-column:first").remove('.day-column:first');
     });

     });
4

1 回答 1

0

工作演示:http: //jsfiddle.net/2WUtB/

编辑 2:Demo 2 http://jsfiddle.net/RNW24/使用$(this).closest('section.day-column').clone()你只会克隆最近的部分,而不是你的案例中发生的全部!:)Jquery 有很好的文档我认为可以玩,你会是一个快乐的小伙子!http://api.jquery.com/closest/

要使用动态生成的元素添加点击,您需要使用.onAPI。

API: .on: http://api.jquery.com/on/

.on() 方法将事件处理程序附加到 jQuery 对象中当前选定的元素集。从 jQuery 1.7 开始,.on() 方法提供了附加事件处理程序所需的所有功能。有关从旧 jQuery 事件方法转换的帮助,请参阅 .bind()、.delegate() 和 .live()。要删除与 .on() 绑定的事件,请参阅 .off()。要附加仅运行一次然后自行删除的事件,请参阅 .one()

2ndly,删除“id = add”,因为您正在复制id并且身份始终是唯一的,请class改用。

第三,html 有点不靠谱,我会把它留在你的项目中,让 UI 人员来决定。

希望这可以帮助:)

一些有用的链接:

代码

$(document).ready(function () {

    $(document).on('click', '.add', function () {
        alert('Click is bind with add button');
        $("ul").append("<li></li>");
        $('.day-column').clone().attr('class', '.day-column').insertAfter('.day-column:first');
    });

    $(document).on('click', '.remove', function () {
        alert('Click is bind with remove button');
        $(".day-column:first").remove('.day-column:first');

    });

});
于 2013-10-07T20:38:55.293 回答