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