Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保持<;输入>;拖放时的元素?_Javascript_Jquery_Html - Fatal编程技术网

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
都是元素本身,或者是检索正确元素的选择器

另见