找不到这个问题,我想这不是一个真正的问题,只是我不知道怎么做。 如果点击某个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);
任何解决方案?或者首先,为什么会发生这种情况?谢谢!
答案 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中的其他地方