Удалить не работает в клонированном объекте - PullRequest
1 голос
/ 13 февраля 2012

Удаление объектов в этом коде прекрасно работает в jquery 1.5, но не работает с jquery 1.6:

<!DOCTYPE html>
<html>
<head>
<style>.content {border: 1px solid #333;} .delete {color: red;}</style>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>
<div id="master">
<div class="content">Some content <span class="delete">Delete</span></div>
</div>
<div class="clone">Clone</div>
<script>
    $(".clone").click(function () {
        $("#master").find(".content").last().clone().appendTo("#master");
    });

    $(".delete").click(function () {
        $(this).parents(".content").remove();
    });
</script>
</body>
</html>

С Jquery 1.6+ я могу удалить только первый элемент.Почему это не работает?

1 Ответ

3 голосов
/ 13 февраля 2012

Кажется, есть проблема с clone() в 1.5.0, которая была исправлена ​​в 1.5.1 относительно необязательного параметра withDataAndEvents.

Из документации:

В jQuery 1.5.0 значение по умолчанию было неверно true;в 1.5.1 он был изменен на false.

Ваш код должен быть таким:

$(".clone").click(function () {
    $("#master").find(".content").last().clone(true).appendTo("#master");
});

$(".delete").click(function () {
    $(this).parents(".content").remove();
});
...