0

我正在尝试分离一个 DOM 元素以将其附加到另一个 DOM 元素。但是 jQuery 拒绝做任何事情,默默地。

问题是,我不能使用字符串选择器,因为我不知道如何选择这个元素。当我第一次将一些 html 代码附加到初始父级时(通过“appendTo”.

this.element = $(my_html_string).appendTo(some_dom_parent);

这很好用。未按预期工作的代码如下:

this.transferTo = function(dom_parent)
{
    $(this.element).detach()
    $(this.element).appendTo(dom_parent);
}

会发生什么:

  • 该元素不会从任何位置移除。
  • 元素被附加到新的父元素。
  • 以前在两个元素上都会触发绑定点击事件。
  • 该单击事件将弹出对话框附加到元素。它总是被附加到新父元素中的元素,无论我点击哪一个。

我尝试了一些硬编码的分离,例如:

$('#very_specific_id').detach()

...它的工作原理。但问题是,我没有放置 ID,这听起来是一种非常糟糕的方法。

所以问题似乎取决于我正在保存一个 jQuery DOM 元素并尝试从中使用 .detach ,而不是像其他人一样使用 $(".query") 。

想法?解决方法?谢谢!

4

1 回答 1

0

尝试改变这个:

this.transferTo = function(dom_parent)
{
    $(this.element).detach()
    $(this.element).appendTo(dom_parent);
}

对此:

this.transferTo = function(dom_parent)
{
    var $thisElement = $(this.element);
    $thisElement.detach()
    $thisElement.appendTo(dom_parent);
}
于 2012-07-17T02:48:47.503 回答