在jQuery中,将一个元素从其父元素“移动”到另一个元素的正确方法是什么?

时间:2011-01-25 16:55:03

标签: javascript jquery jquery-ui

使用jQuery 1.4和jQueryUI 1.8

具体来说,我正在使用draggables / droppables,并且在删除时,我想将可拖动的(它的子项,事件等)从属于其父元素移动到附加/添加为放置目标的子项。

我知道在droppable drop选项中,我可以提供以下回调:

function(event, ui) {
    // stuff
}

其中$(this).target将是放置目标,而ui.draggable将是我想移动的子元素 - 但我不确定实际执行移动的正确方法,保留事件,等。

2 个答案:

答案 0 :(得分:13)

append()会删除元素并将其放在您想要的位置。

$(this).target.append(ui.draggable);

// or, if $(this).target is not a jQuery object

var target = $(this).target;
$(target).append(ui.draggable);

答案 1 :(得分:1)

只需使用.append().appendTo().prepend().prependTo()即可。分离部分是隐含的。 (我通过将jQuery Manipulation文档中的条目重新相互替换来测试这一点。)

ui.draggable.appendTo($(this).target);