0

对不起愚蠢的问题。我很早就在这里遇到了一些答案,但现在我找不到它们。我有(例如):

<div id="div1">
    <div id="move">
        1
    </div>
</div>
<div id="div2">
</div>

在不丢失我绑定的任何东西(例如绑定其他东西)的情况下,将#movefrom的父级更改为的正确方法是什么?#div1#div2#move.click()

示例代码:

$('#move').animate({ //hide
        width: 'toggle',
        height: 'toggle',
      }, 1000, function() {
        $('#div2').prepend($(this)); //move (when animation finished)
        $(this).animate({ //show again
            width: 'toggle',
            height: 'toggle',
             }, 1000);

});

这似乎有效,但我仍然不知道我是否做对了,(例如,我没有$(this)从旧父级手动删除。可能 jQuery 为我做了,因为当我在旧地方看不到那个节点时使用浏览器调试器)。

4

1 回答 1

1

您所做的是正确的,您不必在某处添加到 div,然后删除原始... jQuery 将为您移动 div。事实上,如果你想制作一个副本,你必须非常具体地使用 clone() 函数。

因此 prepend、append、after、insert 等函数将在 DOM 周围移动 div 以及附加到它的所有内容。我很确定它还保留了点击绑定...

于 2013-07-09T14:55:24.573 回答