【发布时间】:2013-08-12 11:13:22
【问题描述】:
单击按钮时我正在打开一个新窗口,然后将此窗口中的内容附加到已打开的窗口中,我正在使用的 jquery 代码是:
$(".printBtn").on("click", function () {
var w = window.open("", "Purchase Report", "width=800, height=1100");
var wi = $(window);
$(w.document.body).append(wi.find("#datatable_example"));
return false;
});
问题是,确实打开了一个新窗口,但父窗口中的内容并未附加到新打开的窗口中。然后我尝试附加wi.find("#datatable_example").html(),但这也不起作用。
任何人都可以看看并告诉我我在这里做错了什么吗?
更新
从“重复问题”中尝试了以下方法,但没有奏效:
$(".printBtn").on("click", function () {
var w = window.open("", "Purchase Report", "width=800, height=1100");
$(w.document).ready(function () {
$(w.document.body).contents().append($(window).find("#datatable_example"));
});
return false;
});
【问题讨论】:
-
专业提示,如果要检查选择器是否匹配任何内容,请查看长度(如果没有找到,则为 0):
console.log(wi.find("#datatable_example").length) -
@oleq!那为什么呢?我正在使用一种完全不同的方式来实现这一点。 - 打开一个空的 URL 窗口,即一个没有内容的窗口,因此它不会花费任何时间来加载,对吗? - 我正在尝试访问与子窗口无关的父窗口内容,但仍然遇到无法检索子窗口的问题。
-
@KamranAhmed Er。对不起,你是对的。我在下面发布了答案。
标签: javascript jquery dom javascript-events