javascript – 将DOM节点移动到弹出窗口

我试图将DOM节点从“根”页面移动到通过window.open()创建的新弹出窗口.这是我正在使用的代码.

var win = window.open('/Search/Print', 'printSearchResults'),
    table = $('#printTable');
win.document.close();
setTimeout(function () {
    var el = win.document.createElement("table");
    el.innerHTML = table.html();
    win.document.body.appendChild(el);
}, 40);

它适用于Chrome,但在IE8中,我收到以下错误:“未知的运行时错误.”

我也是这样试过的:

var p = window.open('/Search/Print', 'printSearchResults'),
    table = $('#printTable');
setTimeout(function () {
    p.document.body.appendChild(table.clone(false)[0]);
}, 100);

这样做,我在IE8中收到“没有这样的界面支持”. Chrome再次正常运行.

有没有人有办法做我想要实现的目标?

以下是弹出窗口的HTML,仅为了完整性:

<!DOCTYPE html>
  <html>
  <head>
      <title>Print Results</title>
  </head>
  <body>
  </body>
</html>

最佳答案 我在IE9(和IE8 / 7浏览器模式)上测试了你的代码.

而不是el.innerHTML = table.html();

使用jquery $(el).html(table.html());解决了这个问题.

点赞