jQuery - 一旦我把它放在另一个页面中,对象就会消失

时间:2015-06-27 17:47:09

标签: javascript jquery html web

找不到这个问题,我想这不是一个真正的问题,只是我不知道怎么做。 如果点击某个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);

任何解决方案?或者首先,为什么会发生这种情况?谢谢!

2 个答案:

答案 0 :(得分:1)

来自jQuery网站: (https://api.jquery.com/clone/

  

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

     

为了防止这种情况而是创建元素的副本,您可以编写以下内容:

$( ".hello" ).clone().appendTo( ".goodbye" );

所以在你的情况下:

$(this).clone();

答案 1 :(得分:1)

你只需要clone div:

window.toSend = $(this).clone();

clone会创建匹配元素集的深层副本。

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

clone制作元素的副本,以便原始元素不受影响。它是创建一个副本并将该副本放在DOM中的其他地方