使用jQuery在新窗口的特定部分写入内容

使用jQuery在新窗口的特定部分写入内容,jquery,new-window,Jquery,New Window,我的项目中有以下代码,用于打开一个新窗口进行显示,然后从第一个窗口打印结果表: $('a.print_btn').click(function(e) { var elementId = $(this).attr('id'); var elementToPrint = $("#report_" + elementId).html(); var printWin = window.open("print.php?id="+elementId, "Print"); $(

我的项目中有以下代码,用于打开一个新窗口进行显示,然后从第一个窗口打印结果表:

$('a.print_btn').click(function(e) {
    var elementId = $(this).attr('id');
    var elementToPrint = $("#report_" + elementId).html();
    var printWin = window.open("print.php?id="+elementId, "Print");
    $(printWin.document.body).html(elementToPrint);
}); 
在这段代码中,#report_elementId指向包含我的表信息的字段集。如果我使用下面的代码,我可以看到所有表格内容:

警报(elementToPrint)

到目前为止一切都还可以。但是最后一行代码不起作用,任何东西都不能在printWin窗口中写入。我不知道为什么:(

我用过它,但它对我不起作用。请帮帮我

顺便说一句,我需要将内容写入某个div(
id=“myDiv”
)。我该怎么做呢?

试试看

printWin.body.innerHTML = elementToPrint;
document.getElementById('myDiv').innerHTML = elementToPrint;
试试这个:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $('div#myDiv').html(elementToPrint); 
  }
我假设print.php?id=[something]可以工作,即不会以500或404错误结束

由于我不确定ready回调是在什么上下文中执行的,所以让我们尝试更明确一些:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $(printWin.document).find('div#myDiv').html(elementToPrint); 
  }

rene,
elementToPrint('myDiv').html(elementToPrint);
对我不起作用:(我不知道为什么。如果我提醒
elementToPrint
我可以看到所有html内容,但我不知道为什么它不能被写入似乎我没有任何权限访问
$('myDiv')
。我尝试了
$('myDiv').css('background-color','333'))
也是。但没有发生任何事情。@Mohammad我添加了第二个示例以确保选择运行正确的上下文,但这一行
$(printWin.document).find('div#myDiv').html(elementToPrint);
不适合我-@rene@ubm问一个新问题,你在哪里遵循指导,以确保我们可以看到你的案例与本案例之间的不同。可能是安全策略、jquery错误、html标记错误等。你的评论几乎没有足够的信息来诊断可能的错误。