.remove()不删除所有内容

时间:2013-07-29 00:11:04

标签: jquery jquery-ui

我有jsfiddle here - 我在Ready函数中使图像可调整大小并可拖动。还会创建一个可放置的div来接受图片的可调整大小.ui-wrapper,因此可以将图像拖放到div中。在放置处理程序中,我想完全从droppable ui.draggable中删除div,因为其他内容将放在那里。

我尝试使用remove()执行此操作:

ui.draggable.remove();
根据我对jQuery引用的阅读,

应该已经删除了.ui-wrapper和里面的所有内容。但它只删除了外部的ui-wrapper,并留下了img元素。

有谁知道发生了什么事?

由于

2 个答案:

答案 0 :(得分:2)

这是因为draggable是一个数组。您可以删除第一个可拖动的内容:

ui.draggable[0].remove()

答案 1 :(得分:0)

我真的不知道为什么,我会调查jQuery-UI核心并稍后更新答案,但我确定它与事件的顺序有关烧制

作为解决方法,你可以做到

var ele = e.toElement ? e.toElement : e.relatedTarget; 
$(ele).remove();

目前。

三元检查是支持跨浏览器。