将父节点更改为另一个

时间:2013-07-09 14:51:39

标签: javascript jquery html

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

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

#move的父级从#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会为我做,因为我没有当我使用浏览器调试器时,在旧地方看到该节点。)

1 个答案:

答案 0 :(得分:1)

你做的是正确的,你不必在某处添加div,然后删除原来的... jQuery会为你移动div。实际上,如果要复制,必须使用clone()函数。

因此prepend,append,after,insert等函数将移动div,并在DOM周围附加所有内容。我很确定它还能保持点击绑定...