Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 jQuery-object在我把它放到另一个页面时就消失了_Javascript_Jquery_Html_Web - Fatal编程技术网

Javascript jQuery-object在我把它放到另一个页面时就消失了

Javascript jQuery-object在我把它放到另一个页面时就消失了,javascript,jquery,html,web,Javascript,Jquery,Html,Web,找不到这个问题,我想这不是什么问题,只是我不知道怎么解决。 在单击某个div时,我想打开一个新选项卡。我在下面的代码中成功地做到了这一点,但实际情况是原始div从原始页面中消失,仅显示在新选项卡中,我不太清楚为什么会发生这种情况,但我考虑过克隆对象,但没有成功 以下是相关代码: 单击打开新选项卡: $(document).on("click", ".button", function(){ window.toSend = $(this); window.newTab = w

找不到这个问题,我想这不是什么问题,只是我不知道怎么解决。 在单击某个div时,我想打开一个新选项卡。我在下面的代码中成功地做到了这一点,但实际情况是原始div从原始页面中消失,仅显示在新选项卡中,我不太清楚为什么会发生这种情况,但我考虑过克隆对象,但没有成功

以下是相关代码: 单击打开新选项卡:

$(document).on("click", ".button", function(){
    window.toSend = $(this);   
    window.newTab = window.open("test.html", "_blank");  
将对象添加到新选项卡:

var data = parent.window.opener.toSend;
    $(".clickedButton").html(data);
有什么解决办法吗?或者首先,为什么会发生这种情况?谢谢

从jQuery网站: ()

如.append()的讨论所示,通常当元素插入DOM中某个位置时,它会从原来的位置移动…

要防止出现这种情况,而是创建元素的副本,可以编写以下代码:

$(“.hello”).clone().appendTo(“.再见”)

因此,在你的情况下:

$(this.clone()

您只需输入div:

window.toSend=$(this.clone()

克隆创建匹配元素集的深度副本

使用
$(this)
您选择了该元素,因此当您将其放置在其他位置时,它将从此处移动。这就像在DOM中拾取和移动元素一样


clone
复制元素,使原始元素不受影响。这就像创建一个副本并将该副本放在DOM中的其他位置一样

您是否尝试过
window.toSend=$(this.clone()?从未感到更愚蠢(它可以工作)。谢谢你能解释一下为什么会这样吗?为什么要将对象放在从原始外观移除的另一个位置?我已经更新了一个答案,并说明了原因。>当一个元素插入DOM中的某个位置时,它会从原来的位置移动。。。这就是确切的原因。我用粗体字强调。