Javascript 如何保持<;输入>;拖放时的元素?
我有一个网页,其中有两个Javascript 如何保持<;输入>;拖放时的元素?,javascript,jquery,html,Javascript,Jquery,Html,我有一个网页,其中有两个s。这两个元素都是可拖动的;当一个放置在另一个上方时,位置将切换。目前,JS的工作方式是实际切换这两个元素的innerHtml属性(这意味着我们获得被拖动元素的innerHtml,拖放区域元素的innerHtml,并将这两个属性设置为另一个元素的值) 这可以很好地切换元素的位置。但是,当切换发生时,两个中元素中的数据将被删除。拖放时如何保留此数据 我尝试了以下方法: 切换DOM节点引用本身,而不是innerHtml属性 使用cloneNode()和$.clone() 获
s。这两个元素都是可拖动的;当一个放置在另一个上方时,位置将切换。目前,JS的工作方式是实际切换这两个元素的innerHtml
属性(这意味着我们获得被拖动元素的innerHtml
,拖放区域元素的innerHtml
,并将这两个属性设置为另一个元素的值)
这可以很好地切换元素的位置。但是,当切换发生时,两个
中
元素中的数据将被删除。拖放时如何保留此数据
我尝试了以下方法:
- 切换DOM节点引用本身,而不是
属性innerHtml
- 使用
和cloneNode()
$.clone()
- 获取
属性,以及值
,并进行切换。这被拒绝,因为由于代码的结构方式,这是不切实际的innerHtml
如果有帮助的话,我有JQuery可用。您可以使用JQuery的
.detach()
和.append()
方法
要在DOM上移动div,请调用$(div.detach()
将其从当前位置删除,然后调用$(newParent).append(div)
将其附加到其新位置
我假设div
和newParent
都是元素本身,或者是检索正确元素的选择器
另见