删除在克隆对象中不起作用

发布于 2025-01-04 19:40:42 字数 803 浏览 2 评论 0原文

删除此代码中的对象在 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+,我可以仅删除第一个元素。为什么它不起作用?

Remove objects in this code works fine in jquery 1.5, but doesn't work with 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>

With Jquery 1.6+ I can remove just first element. Why it doesn't work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东北女汉子 2025-01-11 19:40:42

1.5.0 中的 clone() 似乎存在问题,该问题已在 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();
});

There seems to be an issue with clone() in 1.5.0 that was fixed in 1.5.1 regarding the optional withDataAndEvents parameter.

From the documentation:

In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up.

Your code should thus be:

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

$(".delete").click(function () {
    $(this).parents(".content").remove();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文