如何在 jQuery 中克隆克隆的 DOM 对象

发布于 2024-11-17 12:17:47 字数 587 浏览 1 评论 0原文

后跟

我在 .OptionRows,我有一个 X 来删除该行。

.AddGroup 工作正常,直到 IX 克隆的原始元素为止。这是我的克隆和 X 代码

$('.AddGroup').click(function(e) {
    e.preventDefault();
    var $this = $(this);
    $this.parent().siblings('.OptionRow:first').clone(true, true).hide().insertBefore($this).fadeIn();
});
$('.CloseGroup').click(function(e) {
    e.preventDefault();
    $(this).parents('.OptionRow').fadeOut('fast', function() {
        $(this).remove();
    });
});

I have <div class="OptionRow">s followed by a <a class="AddGroup">

Inside the .OptionRows, I have an X to remove that row.

The .AddGroup works fine until I X the original element that was cloned. Here's my code for the cloning and the X

$('.AddGroup').click(function(e) {
    e.preventDefault();
    var $this = $(this);
    $this.parent().siblings('.OptionRow:first').clone(true, true).hide().insertBefore($this).fadeIn();
});
$('.CloseGroup').click(function(e) {
    e.preventDefault();
    $(this).parents('.OptionRow').fadeOut('fast', function() {
        $(this).remove();
    });
});

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

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

发布评论

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

评论(2

姐不稀罕 2024-11-24 12:17:47

克隆不会有原始版本所具有的处理程序。

尝试使用 .live('click', function(e){...}) 作为您的点击处理程序,这可能会解决问题

The clone wont have the handlers that the original had.

Try using .live('click', function(e){...}) for your click handlers which might fix the issue

北城挽邺 2024-11-24 12:17:47

根据 @Microprocessor 的建议,我检查了 HTML 并意识到 .OptionRow 克隆被插入到 DOM 中的错误位置。我通过使用 .insertBefore($this.parent()) 而不是 .insertBefore($this) 解决了这个问题。谢谢@Microprocessor,我不知道为什么我不早点这样做。

As per @Microprocessor's suggestion, I examined the HTML and realized the .OptionRow clone was being inserted into the wrong place in the DOM. I solved the problem by using .insertBefore($this.parent()) instead of .insertBefore($this). Thanks @Microprocessor, I don't know why I didn't do that earlier.

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